Prev Next a_fun_abort_xam.m Headings

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Octave: Abort Recording a_double Operations: Example and Test
function ok = a_fun_abort_xam()
     %
     % load the Cppad Swig library
     m_cppad
     %
     % initialize return variable
     ok = true;
     % -----------------------------------------------------------------------
     n_ind = 2;
     %
     % create ax
     x = m_cppad.vec_double(n_ind);
     for i = [ 0 :(n_ind -1) ]
          x(i) = i + 1.0;
     end
     ax = m_cppad.independent(x);
     %
     % preform some a_double operations
     ax0 = ax(0);
     ax1 = ax(1);
     ay = ax0 + ax1;
     %
     % check that ay is a variable; its value depends on the value of ax
     ok = ok && ay.variable();
     %
     % abort this recording
     m_cppad.abort_recording();
     %
     % check that ay is now a parameter, no longer a variable.
     ok = ok && ay.parameter();
     %
     % since it is a parameter, we can retrieve its value
     y = ay.value();
     %
     % its value should be x0 + x1
     ok = ok && y  == x(0) + x(1);
     %
     % an abort when not recording has no effect
     m_cppad.abort_recording();
     %
     return;
end

Input File: build/lib/example/octave/a_fun_abort_xam.m