73 T outputG[this->getTargetDim()];
75 if ( this->_fIsBlock && this->_gIsBlock ) {
76 this->_f(outputF, input);
77 this->_g(outputG, input);
80 const int superInput[4] = {
82 input[0], input[1], input[2]
85 if ( this->_fIsBlock ) {
86 this->_f(outputF, input);
87 this->_g(outputG, superInput);
90 this->_f(outputF, superInput);
91 this->_g(outputG, input);
95 if ( _f.getTargetDim() == 1 || _g.getTargetDim() == 1 ) {
97 if ( _f.getTargetDim() == 1 ) {
99 for (
int i = 1; i < this->getTargetDim(); i++) {
100 outputF[i] = outputF[0];
103 else if ( _g.getTargetDim() == 1 ) {
105 for (
int i = 1; i < this->getTargetDim(); i++) {
106 outputG[i] = outputG[0];
111 for (
int i = 0; i < this->getTargetDim(); i++) {
112 output[i] = F<T>()(outputF[i], outputG[i]);