/* dtkComposerNodeMatrixSquareRealOperatorBinary.h --- * * Author: sblekout * Copyright (C) 2011 - Babette Lekouta, Inria. * Created: Thu Apr 26 15:57:47 2012 (+0200) * Version: $Id: 0037f6157e38ba090410d7413a3f459d1c382d8a $ * Last-Updated: Mon Jun 25 14:17:38 2012 (+0200) * By: tkloczko * Update #: 24 */ /* Commentary: * */ /* Change log: * */ #ifndef DTKCOMPOSERNODEMATRIXSQUAREREALOPERATORBINARY_H #define DTKCOMPOSERNODEMATRIXSQUAREREALOPERATORBINARY_H #include #include "dtkComposerNodeLeaf.h" // ///////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinary interface // ///////////////////////////////////////////////////////////////// class dtkComposerNodeMatrixSquareRealOperatorBinaryPrivate; class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinary : public dtkComposerNodeLeaf { public: dtkComposerNodeMatrixSquareRealOperatorBinary(void); ~dtkComposerNodeMatrixSquareRealOperatorBinary(void); inline QString inputLabelHint(int port) { if (port == 0) return "matrix_lhs"; else return "matrix_rhs"; } inline QString outputLabelHint(int) { return "matrix"; } protected: dtkComposerNodeMatrixSquareRealOperatorBinaryPrivate *d; }; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinaryLeftProduct interface // ///////////////////////////////////////////////////////////////// class dtkComposerNodeMatrixSquareRealOperatorBinaryProductMVPrivate; class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryProductMV : public dtkComposerNodeLeaf { public: dtkComposerNodeMatrixSquareRealOperatorBinaryProductMV(void); ~dtkComposerNodeMatrixSquareRealOperatorBinaryProductMV (void); inline QString inputLabelHint(int port) { if (port == 0) return "matrix"; else return "vector"; } inline QString outputLabelHint(int) { return "vector"; } protected: dtkComposerNodeMatrixSquareRealOperatorBinaryProductMVPrivate *d; }; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinaryAddVecortToMatrix interface // ///////////////////////////////////////////////////////////////// class dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVectorPrivate; class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVector : public dtkComposerNodeLeaf { public: dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVector(void); ~dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVector(void); inline QString inputLabelHint(int port) { if (port == 0) return "matrix"; else if (port == 1) return "vector"; else return "index"; } inline QString outputLabelHint(int) { return "matrix "; } protected: dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVectorPrivate *d; }; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinary Sum interface // ///////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinarySum : public dtkComposerNodeMatrixSquareRealOperatorBinary { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_sum"; } inline QString titleHint(void) { return "Squared real matrix : Mat + Mat"; } }; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinary Substract interface // ///////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinarySubstract: public dtkComposerNodeMatrixSquareRealOperatorBinary { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_substract"; } inline QString titleHint(void) { return "Squared real matrix : Mat - Mat"; } }; // ///////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinary Mult interface // ///////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryMult: public dtkComposerNodeMatrixSquareRealOperatorBinary { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_mult"; } inline QString titleHint(void) { return "Squared real matrix : Mat * Mat"; } }; // ////////////////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinaryLeftProductMV interface // ///////////////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryRightProductMV : public dtkComposerNodeMatrixSquareRealOperatorBinaryProductMV { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_ProductMatrixVector"; } inline QString titleHint(void) { return "Squared real matrix : Mat * Vec"; } }; // ////////////////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinaryProductMV interface // ///////////////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryLeftProductVM : public dtkComposerNodeMatrixSquareRealOperatorBinaryProductMV { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_ProductVectorMatrix"; } inline QString titleHint(void) { return "Squared real matrix : Vec * Mat"; } }; // ////////////////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceRowMatrixByVector interface // ///////////////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceRowMatrixByVector: public dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVector { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_ReplaceRowMatrixByVector"; } inline QString titleHint(void) { return "Squared real matrix : replace row by vector"; } }; // ////////////////////////////////////////////////////////////////////////// // dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColMatrixByVector interface // ///////////////////////////////////////////////////////////////////////// class DTKCOMPOSERSUPPORT_EXPORT dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColMatrixByVector : public dtkComposerNodeMatrixSquareRealOperatorBinaryReplaceColAndRowMatrixByVector { public: void run(void); public: inline QString type(void) { return "matrixSquare_real_ReplaceColMatrixByVector"; } inline QString titleHint(void) { return "Squared real matrix : replace column by vector"; } }; #endif