![]() |
Prev | Next | speed_example.cpp | Headings |
# 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 );
}