int main(int argc, char **argv) { int i = 1; // starting from 1 for (i = 1; i < 11; ++i) printf( "sqrt_bsearch(%d)=%lf, sqrt_newton(%d)=%lf\n", i, sqrt_bsearch(i), i, sqrt_newton(i) ); return 0; }
int main(void) { long start=0; unsigned long i; /* sanity test */ for(i=0;i<10;i++) { printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); } i=37; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=128; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=1023; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=10234567L; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0xfffffffL; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0x7fffffffL; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0x12345678L; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0x77654321L; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0x87654321UL; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0xabcdef01UL; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0xfbcdef01UL; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); i=0xffffffffUL; printf("sqrt(%10li) = %5li strt, %5li earx, %5li nyh1, %5li anon, %7.0f mlib\n" , i, sqrt_strt(i), sqrt_earx(i), sqrt_nyh1(i), sqrt_anon(i), sqrt((double)i)); #if 0 { FILE* f; if((f=fopen("sqrt_res.txt","w"))==NULL) { printf("File open error!\n"); return -1; } start = clock(); i=0x0UL; do { long res=sqrt_strt(i); long res2=sqrt_nyh1(i); if((res!=res2) && (res!=res2+1)) { printf("sqrt(%lX) = %lX strt, %lX math\n",i, res,res2); fprintf(f,"sqrt(%lX) = %lX strt, %lX math\n",i, res,res2); } i++; } while(i!=0); printf("Time used for sqrt strt: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); fprintf(f,"Time used for sqrt strt: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); fclose(f); } #endif #if 1 start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_strt(i); } printf("Time used for sqrt strt: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_earx(i); } printf("Time used for sqrt earx: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_nyh1(i); } printf("Time used for sqrt nyh1: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_tobe(i); } printf("Time used for sqrt tobe: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt((double)i); } printf("Time used for sqrt flib: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { wortel(i); } printf("Time used for sqrt wortel: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_newton(i); } printf("Time used for sqrt newton: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_newtonf(i); } printf("Time used for sqrt newtonf: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); start = clock(); for(i=0;i<TEST_RANGE;i++) { sqrt_anon(i); } printf("Time used for sqrt anon: %lf sec.\n", ((float)((clock()-start))/(float)CLK_TCK)); #endif return 0; }