Mercurial > projects > dstress
changeset 883:e6e610efdba8
added basic float2int and int2float tests
author | thomask |
---|---|
date | Fri, 03 Mar 2006 11:57:30 +0000 |
parents | 534a591a0225 |
children | 32f8ee5796a1 |
files | run/i/ieee_754_flt2int_A.d run/i/ieee_754_flt2int_B.d run/i/ieee_754_flt2int_C.d run/i/ieee_754_flt2int_D.d run/i/ieee_754_flt2int_E.d run/i/ieee_754_flt2int_F.d run/i/ieee_754_int2flt_A.d run/i/ieee_754_int2flt_B.d run/i/ieee_754_int2flt_C.d run/i/ieee_754_int2flt_D.d run/i/ieee_754_int2flt_E.d run/i/ieee_754_int2flt_F.d run/i/ieee_754_int2flt_G.d |
diffstat | 13 files changed, 452 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_flt2int_A.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_flt2int_A; + +int main(){ + size_t border; + + if((long.sizeof * 8) - 1 < real.dig * 3){ + border = (long.sizeof * 8) - 1; + }else{ + border = real.dig * 3; + } + + for(size_t i = 0; i < border; i++){ + real a = 1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + long b = cast(long) a; + real c = a; + + if(c != a){ + assert(0); + } + } + + for(size_t i = 0; i < border; i++){ + real a = -1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + long b = cast(long) a; + real c = a; + + if(c != a){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_flt2int_B.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_flt2int_B; + +int main(){ + size_t border; + + if((long.sizeof * 8) - 1 < double.dig * 3){ + border = (long.sizeof * 8) - 1; + }else{ + border = double.dig * 3; + } + + for(size_t i = 0; i < border; i++){ + double a = 1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + long b = cast(long) a; + double c = a; + + if(c != a){ + assert(0); + } + } + + for(size_t i = 0; i < border; i++){ + double a = -1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + long b = cast(long) a; + double c = a; + + if(c != a){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_flt2int_C.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,43 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_flt2int_C; + +int main(){ + size_t border; + + if((long.sizeof * 8) - 1 < float.dig * 3){ + border = (long.sizeof * 8) - 1; + }else{ + border = float.dig * 3; + } + + for(size_t i = 0; i < border; i++){ + float a = 1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + long b = cast(long) a; + float c = a; + + if(c != a){ + assert(0); + } + } + + for(size_t i = 0; i < border; i++){ + float a = -1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + long b = cast(long) a; + float c = a; + + if(c != a){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_flt2int_D.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,30 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_flt2int_D; + +int main(){ + size_t border; + + if(ulong.sizeof * 8 < float.dig * 3){ + border = ulong.sizeof * 8; + }else{ + border = float.dig * 3; + } + + for(size_t i = 0; i < border; i++){ + float a = 1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + ulong b = cast(ulong) a; + float c = a; + + if(c != a){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_flt2int_E.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,30 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_flt2int_E; + +int main(){ + size_t border; + + if(ulong.sizeof * 8 < double.dig * 3){ + border = ulong.sizeof * 8; + }else{ + border = double.dig * 3; + } + + for(size_t i = 0; i < border; i++){ + double a = 1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + ulong b = cast(ulong) a; + double c = a; + + if(c != a){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_flt2int_F.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,30 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_flt2int_F; + +int main(){ + size_t border; + + if(ulong.sizeof * 8 < real.dig * 3){ + border = ulong.sizeof * 8; + }else{ + border = real.dig * 3; + } + + for(size_t i = 0; i < border; i++){ + real a = 1.0; + for(size_t j = i; j > 0; j--){ + a *= 2.0; + } + ulong b = cast(ulong) a; + real c = a; + + if(c != a){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_A.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_A; + +int main(){ + size_t border; + + if((int.sizeof * 8) - 1 < real.dig * 3){ + border = (int.sizeof * 8) - 1; + }else{ + border = real.dig * 3; + } + + for(int i = 0; i < border; i++){ + int test = 1 << i; + real r = test; + int result = cast(int)r; + + if(result != test){ + assert(0); + } + } + + for(int i = 0; i < border; i++){ + int test = 1 << i; + test *= -1; + real r = test; + int result = cast(int)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_B.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_B; + +int main(){ + size_t border; + + if((long.sizeof * 8) - 1 < real.dig * 3){ + border = (long.sizeof * 8) - 1; + }else{ + border = real.dig * 3; + } + + for(long i = 0; i < border; i++){ + long test = 1 << i; + real r = test; + long result = cast(long)r; + + if(result != test){ + assert(0); + } + } + + for(long i = 0; i < border; i++){ + long test = 1 << i; + test *= -1; + real r = test; + long result = cast(long)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_C.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_C; + +int main(){ + size_t border; + + if((long.sizeof * 8) - 1 < double.dig * 3){ + border = (long.sizeof * 8) - 1; + }else{ + border = double.dig * 3; + } + + for(long i = 0; i < border; i++){ + long test = 1 << i; + double r = test; + long result = cast(long)r; + + if(result != test){ + assert(0); + } + } + + for(long i = 0; i < border; i++){ + long test = 1 << i; + test *= -1; + double r = test; + long result = cast(long)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_D.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_D; + +int main(){ + size_t border; + + if((long.sizeof * 8) - 1 < float.dig * 3){ + border = (long.sizeof * 8) - 1; + }else{ + border = float.dig * 3; + } + + for(long i = 0; i < border; i++){ + long test = 1 << i; + float r = test; + long result = cast(long)r; + + if(result != test){ + assert(0); + } + } + + for(long i = 0; i < border; i++){ + long test = 1 << i; + test *= -1; + float r = test; + long result = cast(long)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_E.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_E; + +int main(){ + size_t border; + + if(ulong.sizeof * 8 < float.dig * 3){ + border = ulong.sizeof * 8; + }else{ + border = float.dig * 3; + } + + for(ulong i = 0; i < border; i++){ + ulong test = 1 << i; + float r = test; + ulong result = cast(ulong)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_F.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_F; + +int main(){ + size_t border; + + if(ulong.sizeof * 8 < double.dig * 3){ + border = ulong.sizeof * 8; + }else{ + border = double.dig * 3; + } + + for(ulong i = 0; i < border; i++){ + ulong test = 1 << i; + double r = test; + ulong result = cast(ulong)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/ieee_754_int2flt_G.d Fri Mar 03 11:57:30 2006 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.i.ieee_754_int2flt_G; + +int main(){ + size_t border; + + if((ulong.sizeof * 8) < real.dig * 3){ + border = ulong.sizeof * 8; + }else{ + border = real.dig * 3; + } + + for(ulong i = 0; i < border; i++){ + ulong test = 1 << i; + real r = test; + ulong result = cast(ulong)r; + + if(result != test){ + assert(0); + } + } + + return 0; +}