add traceExecution in TernaryExpression

release/4.3a0
Sungtae An 2014-10-05 17:40:11 -04:00
parent cc3c0fcfec
commit 69f74014aa
1 changed files with 12 additions and 0 deletions

View File

@ -553,6 +553,18 @@ public:
} }
}; };
/// Construct an execution trace for reverse AD
virtual boost::shared_ptr<JacobianTrace<T> > traceExecution(
const Values& values) const {
boost::shared_ptr<Trace> trace = boost::make_shared<Trace>();
trace->trace1 = this->expressionA1_->traceExecution(values);
trace->trace2 = this->expressionA2_->traceExecution(values);
trace->trace3 = this->expressionA3_->traceExecution(values);
trace->t = function_(trace->trace1->value(), trace->trace2->value(), trace->trace3->value(),
trace->H1, trace->H2, trace->H3);
return trace;
}
}; };
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
} }