Prev Next speed_example.cpp Headings

Program That Runs the Speed Examples


# include <cppad/cppad.hpp>

// various example routines
extern bool det_of_minor(void);
extern bool det_by_lu(void);
extern bool det_by_minor(void);
extern bool ode_evaluate(void);
extern bool sparse_evaluate(void);
extern bool speed_test(void);

namespace {
     // function that runs one test
     static size_t Run_ok_count    = 0;
     static size_t Run_error_count = 0;
     bool Run(bool TestOk(void), const char *name)
     {    bool ok = true;
          using namespace std;
     
          ok &= TestOk();
     
          if( ok )
          {    std::cout << "Ok:    " << name << std::endl;
               Run_ok_count++;
          }
          else
          {    std::cout << "Error: " << name << std::endl;
               Run_error_count++;
          }
     
          return ok;
     }
}

// main program that runs all the tests
int main(void)
{    bool ok = true;
     using namespace std;

     ok &= Run(det_of_minor,          "det_of_minor"   );
     ok &= Run(det_by_minor,         "det_by_minor"    );
     ok &= Run(det_by_lu,               "det_by_lu"    );
     ok &= Run(ode_evaluate,         "ode_evaluate"    );
     ok &= Run(sparse_evaluate,   "sparse_evaluate"    );
     ok &= Run(speed_test,             "speed_test"    );

     // check for memory leak in previous calculations
     if( CPPAD_TRACK_COUNT() != 0 )
          cout << "Error: memroy leak detected" << endl;

     assert( ok || (Run_error_count > 0) );
     if( ok )
          cout << "All " << int(Run_ok_count) << " tests passed." << endl;
     else cout << int(Run_error_count) << " tests failed." << endl;

     return static_cast<int>( ! ok );
}


Input File: speed/example/example.cpp