Prev Next a_double_binary_xam.cpp Headings

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
C++: a_double Binary Operators With AD Result: Example and Test
# include <cstdio>
# include <cppad/py/cppad_py.hpp>

bool a_double_binary_xam(void) {
     using cppad_py::a_double;
     bool ok      = true;
     a_double a2  = 2.0;
     a_double a3(3.0);
     // -----------------------------------------------------------------------
     a_double a5       = a2 + a3;
     a_double a6       = a2 * a3;
     a_double a1_minus = a2 - a3;
     a_double a23      = a2 / a3;
     //
     ok = ok && a5 == 5.0;
     ok = ok && a6 == 6.0;
     ok = ok && a1_minus == -1.0;
     ok = ok && a23.near_equal( a_double(2.0 / 3.0 ) );
     // -----------------------------------------------------------------------
     a5       = a2 + 3.0;
     a6       = a2 * 3.0;
     a1_minus = a2 - 3.0;
     a23      = a2 / 3.0;
     //
     ok = ok && a5 == 5.0;
     ok = ok && a6 == 6.0;
     ok = ok && a1_minus == -1.0;
     ok = ok && a23.near_equal( a_double(2.0 / 3.0 ) );
     //
     return( ok );
}

Input File: lib/example/cplusplus/a_double_binary_xam.cpp