00001
00002
00003
00004
00005
00006
00007
00008 namespace impulse {
00009
00010 class FloatTest : public UnitTest {
00011
00012 public:
00013
00014 void runTests()
00015 {
00016 cout << "Testing Float..." << endl;
00017 cout << "------------------------------------------------------------" << endl;
00018
00019 Array args;
00020 args.push( 10.0 );
00021
00022 double ep = numeric_limits<double>::epsilon();
00023
00024 OUTPUT( "---- ep = " << ep );
00025 ASSERT( Float()._sin( args, 10.0 ).getFloat() > ::sin( 10.0 ) - ep );
00026 ASSERT( Float()._sin( args, 10.0 ).getFloat() < ::sin( 10.0 ) + ep );
00027
00028 Array args2;
00029 args2.push( 2.0 );
00030 args2.push( 10.0 );
00031
00032 ASSERT( Float()._pow_( args2, 10.0 ).getFloat() == ::pow( 10.0, 2.0 ) );
00033
00034 cout << "------------------------------------------------------------" << endl;
00035 cout << endl;
00036 }
00037
00038 };
00039
00040 }