Python: a_double Unary Functions with AD Result: Example and Test
# This test fails in Octave and so is skipped by make check_lib_octavedefa_double_unary_fun_xam() :
## load the Cppad Swig libraryimport py_cppad
## initialize return variable
ok = True
# ---------------------------------------------------------------------## fabs
one = py_cppad.a_double(1.0)
abs_one = one.fabs()
ok = ok and abs_one.value() == 1.0
## pi/4
pi_4 = one.atan()
## sqrt(2)
tmp = py_cppad.a_double(2.0)
r2 = tmp.sqrt()
## sin(pi/4) * sqrt(2) = 1.0;
tmp = r2 * pi_4.sin()
ok = ok and tmp.near_equal(one)
## cos(pi/4) * sqrt(2) = 1.0;
tmp = r2 * pi_4.cos()
ok = ok and tmp.near_equal(one)
## tan(pi/4) = 1.0;
tmp = pi_4.tan()
ok = ok and tmp.near_equal(one)
#return( ok )
#