From 69f74014aa630692a9498afe33233f037d9af4ad Mon Sep 17 00:00:00 2001 From: Sungtae An Date: Sun, 5 Oct 2014 17:40:11 -0400 Subject: [PATCH] add traceExecution in TernaryExpression --- gtsam_unstable/nonlinear/Expression-inl.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gtsam_unstable/nonlinear/Expression-inl.h b/gtsam_unstable/nonlinear/Expression-inl.h index 2b02e6991..2f941d85a 100644 --- a/gtsam_unstable/nonlinear/Expression-inl.h +++ b/gtsam_unstable/nonlinear/Expression-inl.h @@ -553,6 +553,18 @@ public: } }; + /// Construct an execution trace for reverse AD + virtual boost::shared_ptr > traceExecution( + const Values& values) const { + boost::shared_ptr trace = boost::make_shared(); + 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; + } + }; //----------------------------------------------------------------------------- }