add forward() in TernaryExpression
							parent
							
								
									0a7db2d252
								
							
						
					
					
						commit
						0421d05d44
					
				|  | @ -520,17 +520,17 @@ public: | |||
|   } | ||||
| 
 | ||||
|   /// Return value and derivatives
 | ||||
|   virtual Augmented<T> augmented(const Values& values) const { | ||||
|   virtual Augmented<T> forward(const Values& values) const { | ||||
|     using boost::none; | ||||
|     Augmented<A1> argument1 = this->expressionA1_->augmented(values); | ||||
|     Augmented<A2> argument2 = this->expressionA2_->augmented(values); | ||||
|     Augmented<A2> argument3 = this->expressionA3_->augmented(values); | ||||
|     Augmented<A1> argument1 = this->expressionA1_->forward(values); | ||||
|     Augmented<A2> argument2 = this->expressionA2_->forward(values); | ||||
|     Augmented<A3> argument3 = this->expressionA3_->forward(values); | ||||
|     Matrix H1, H2, H3; | ||||
|     T t = function_(argument1.value(), argument2.value(), argument3.value(), | ||||
|         argument1.constant() ? none : boost::optional<Matrix&>(H1), | ||||
|         argument2.constant() ? none : boost::optional<Matrix&>(H2), | ||||
|         argument3.constant() ? none : boost::optional<Matrix&>(H3)); | ||||
|     return Augmented<T>(t, H1, argument1.jacobians(), H2, argument2.jacobians()); | ||||
|     return Augmented<T>(t, H1, argument1.jacobians(), H2, argument2.jacobians(), H3, argument3.jacobians()); | ||||
|   } | ||||
| 
 | ||||
| }; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue