X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Filog%2Ftest%2Frun.c;h=ce19293aefc1b27d138b72827adf4e40256fff00;hb=be6a5cdadeef4995cc935f2d2443f45f542ed125;hp=81935840f8d2b61129fe40a1ea9797d670386140;hpb=a5f9a8fbcea19f50aa3594ce2dbf5a13c5455ecc;p=ccan diff --git a/ccan/ilog/test/run.c b/ccan/ilog/test/run.c index 81935840..ce19293a 100644 --- a/ccan/ilog/test/run.c +++ b/ccan/ilog/test/run.c @@ -1,11 +1,7 @@ +#include +#include #include -#include "ilog/ilog.h" -#include "tap/tap.h" -#if defined(__GNUC_PREREQ) -# if __GNUC_PREREQ(4,2) -# pragma GCC diagnostic ignored "-Wparentheses" -# endif -#endif +#include /*Dead simple (but slow) versions to compare against.*/ @@ -33,7 +29,7 @@ int main(int _argc,const char *_argv[]){ for(i=0;i<=32;i++){ uint32_t v; /*Test each bit in turn (and 0).*/ - v=i?(uint32_t)1U<>(33-i>>1)>>(32-i>>1); + v=(1103515245U*v+12345U)&0xFFFFFFFFU>>((33-i)>>1)>>((32-i)>>1); } } ok1(nmatches==3*(32+1)*NTRIALS); @@ -60,7 +56,7 @@ int main(int _argc,const char *_argv[]){ for(i=0;i<=64;i++){ uint64_t v; /*Test each bit in turn (and 0).*/ - v=i?(uint64_t)1U<>(65-i>>1)>>(64-i>>1)); + v=(uint64_t)((2862933555777941757ULL*v+3037000493ULL) + &0xFFFFFFFFFFFFFFFFULL>>((65-i)>>1)>>((64-i)>>1)); } } ok1(nmatches==3*(64+1)*NTRIALS);