X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=ETL%2Ftrunk%2Ftest%2Ffixed.cpp;h=e462b8f02207d1ac0b1d67b7ae3c60632d582d09;hb=88a964cff54a732fd42f3a479122a0b1894c8852;hp=fbdac51af53fef1a19a59c5d6f460a3e71e78625;hpb=b3016b249333ac0ab0008d8c6c4d9029b2ff30c9;p=synfig.git diff --git a/ETL/trunk/test/fixed.cpp b/ETL/trunk/test/fixed.cpp index fbdac51..e462b8f 100644 --- a/ETL/trunk/test/fixed.cpp +++ b/ETL/trunk/test/fixed.cpp @@ -1,7 +1,7 @@ /*! ======================================================================== ** Extended Template and Library Test Suite ** Fixed-Point Math Test -** $Id: fixed.cpp,v 1.1.1.1 2005/01/04 01:31:48 darco Exp $ +** $Id$ ** ** Copyright (c) 2002 Robert B. Quattlebaum Jr. ** @@ -89,8 +89,8 @@ struct speed_test a-=a; } - - + + return MyTimer(); } @@ -100,12 +100,12 @@ struct speed_test a=value_type(0.25); b=value_type(2); c=value_type(4.5); - const value_type half(0.5); + const value_type half(static_cast(0.5)); int i; etl::clock MyTimer; MyTimer.reset(); for(i=0;i0.0005) { fprintf(stderr,"fixed: Failed test on line %d in "__FILE__".\n",__LINE__); @@ -230,23 +230,23 @@ int basic_test(void) fprintf(stderr,"fixed: Failed test on line %d in "__FILE__".\n",__LINE__); ret++; } - + return ret; } int char_test(void) { int ret=0; - + fixed_base fix; double flt; - + if(sizeof(fix)!=sizeof(unsigned char)) { ret++; fprintf(stderr,"fixed: Size of fixed_base is wrong!\n"); } - + flt=1.0; fix=1.0; fprintf(stderr,"fixed: value=%f, data=%d, shouldbe=%f, error=%f\n",(float)fix,fix.data(),flt,(float)fix-flt); @@ -258,15 +258,15 @@ int char_test(void) flt*=0.7; fix*=0.7; fprintf(stderr,"fixed: value=%f, data=%d, shouldbe=%f, error=%f\n",(float)fix,fix.data(),flt,(float)fix-flt); - + flt*=0.7; fix*=0.7; fprintf(stderr,"fixed: value=%f, data=%d, shouldbe=%f, error=%f\n",(float)fix,fix.data(),flt,(float)fix-flt); - + flt*=0.7; fix*=0.7; fprintf(stderr,"fixed: value=%f, data=%d, shouldbe=%f, error=%f\n",(float)fix,fix.data(),flt,(float)fix-flt); - + flt*=0.7; fix*=0.7; fprintf(stderr,"fixed: value=%f, data=%d, shouldbe=%f, error=%f\n",(float)fix,fix.data(),flt,(float)fix-flt); @@ -283,7 +283,7 @@ int char_test(void) fix*=2; fprintf(stderr,"fixed: value=%f, data=%d, shouldbe=%f, error=%f\n",(float)fix,fix.data(),flt,(float)fix-flt); - + return ret; } @@ -292,27 +292,27 @@ int char_test(void) int main() { int error=0; - + error+=basic_test(); error+=char_test(); - + speed_test float_test; speed_test int_test; speed_test fixed_test; - + { double flt,fix,inte; - fprintf(stderr,"Addition/subtraction test..."); + fprintf(stderr,"Addition/subtraction test..."); - fprintf(stderr,"calculating float..."); + fprintf(stderr,"calculating float..."); flt=float_test.add_sub_test(); fprintf(stderr,"float time: %fsec\n",flt); - fprintf(stderr,"calculating fixed..."); + fprintf(stderr,"calculating fixed..."); fix=fixed_test.add_sub_test(); fprintf(stderr,"fixed time: %fsec\n",fix); - fprintf(stderr,"calculating integer..."); + fprintf(stderr,"calculating integer..."); inte=int_test.add_sub_test(); fprintf(stderr,"integer time: %fsec\n",inte); @@ -320,46 +320,46 @@ int main() fprintf(stderr,"Fixed point wins by %f seconds! (%f%% faster)\n",flt-fix,flt/fix*100.0f-100.0f); else fprintf(stderr,"Floating point wins by %f seconds! (%f%% faster)\n",fix-flt,fix/flt*100.0f-100.0f); - + } - + { double flt,fix,inte; - fprintf(stderr,"Product test..."); - fprintf(stderr,"calculating float..."); + fprintf(stderr,"Product test..."); + fprintf(stderr,"calculating float..."); flt=float_test.mul_test(); fprintf(stderr,"float time: %fsec\n",flt); - fprintf(stderr,"calculating fixed..."); + fprintf(stderr,"calculating fixed..."); fix=fixed_test.mul_test(); fprintf(stderr,"fixed time: %fsec\n",fix); - fprintf(stderr,"calculating integer..."); + fprintf(stderr,"calculating integer..."); inte=int_test.mul_test(); fprintf(stderr,"integer time: %fsec\n",inte); if(flt>fix) fprintf(stderr,"Fixed point wins by %f seconds! (%f%% faster)\n",flt-fix,flt/fix*100.0f-100.0f); else fprintf(stderr,"Floating point wins by %f seconds! (%f%% faster)\n",fix-flt,fix/flt*100.0f-100.0f); - + } { double flt,fix,inte; - fprintf(stderr,"Division test..."); - fprintf(stderr,"calculating float..."); + fprintf(stderr,"Division test..."); + fprintf(stderr,"calculating float..."); flt=float_test.div_test(); fprintf(stderr,"float time: %fsec\n",flt); - fprintf(stderr,"calculating fixed..."); + fprintf(stderr,"calculating fixed..."); fix=fixed_test.div_test(); fprintf(stderr,"fixed time: %fsec\n",fix); - fprintf(stderr,"calculating integer..."); + fprintf(stderr,"calculating integer..."); inte=int_test.div_test(); fprintf(stderr,"integer time: %fsec\n",inte); if(flt>fix) fprintf(stderr,"Fixed point wins by %f seconds! (%f%% faster)\n",flt-fix,flt/fix*100.0f-100.0f); else fprintf(stderr,"Floating point wins by %f seconds! (%f%% faster)\n",fix-flt,fix/flt*100.0f-100.0f); - + } - + return error; }