Prev Next a_fun_abort_xam.py Headings

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Python: Abort Recording a_double Operations: Example and Test
def a_fun_abort_xam() :
     #
     # load the Cppad Swig library
     import py_cppad
     #
     # initialize return variable
     ok = True
     # ---------------------------------------------------------------------
     n_ind = 2
     #
     # create ax
     x = py_cppad.vec_double(n_ind)
     for i in range( n_ind  ) :
          x[i] = i + 1.0
     #
     ax = py_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 and ay.variable()
     #
     # abort this recording
     py_cppad.abort_recording()
     #
     # check that ay is now a parameter, no longer a variable.
     ok = ok and ay.parameter()
     #
     # since it is a parameter, we can retrieve its value
     y = ay.value()
     #
     # its value should be x0 + x1
     ok = ok and y  == x[0] + x[1]
     #
     # an abort when not recording has no effect
     py_cppad.abort_recording()
     #
     return( ok )
#

Input File: build/lib/example/python/a_fun_abort_xam.py