Prev Next a_double_unary_fun_xam.m Headings

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Octave: a_double Unary Functions with AD Result: Example and Test
% This test fails in Octave and so is skipped by make check_lib_octave
function ok = a_double_unary_fun_xam()
     %
     % load the Cppad Swig library
     m_cppad
     %
     % initialize return variable
     ok = true;
     % -----------------------------------------------------------------------
     %
     % fabs
     one = m_cppad.a_double(1.0);
     abs_one = one.fabs();
     ok = ok && abs_one.value() == 1.0;
     %
     % pi/4
     pi_4 = one.atan();
     %
     % sqrt(2)
     tmp = m_cppad.a_double(2.0);
     r2 = tmp.sqrt();
     %
     % sin(pi/4)  * sqrt(2) = 1.0;
     tmp = r2 * pi_4.sin() ;
     ok = ok && tmp.near_equal(one) ;
     %
     % cos(pi/4)  * sqrt(2) = 1.0;
     tmp = r2 * pi_4.cos() ;
     ok = ok && tmp.near_equal(one) ;
     %
     % tan(pi/4)  = 1.0;
     tmp = pi_4.tan() ;
     ok = ok && tmp.near_equal(one) ;
     %
     return;
end

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