int main() { UINT i,f1,f2; f1 = xor4096i(seed0); f2 = f1; printf("R1 = %d\n", f1); for (i=1; i<trials; i++) f2 = xor4096i(0); printf("R%d = %d\n", trials, f2); return 0; }
int main(int argc, char *argv[] ) { if ( argc != 3 ) { fprintf(stderr, "%s NUMBER WINDOW\n", argv[0] ); exit(1); } const int n = atoi( argv[1] ); const int k = atoi( argv[2] ); unsigned long long c[ n + k ]; memset( c, 0, sizeof c ); weyl = ((((UINT)0x61c88646)<<16)<<16) + (UINT)0x80b583eb; for( int b = 0; b < 4096; b++ ) { memset( x, 0, sizeof x ); w = 0; x[ b / 64 ] = 1ULL << b % 64; for( int i = 0; i < n; i++ ) { const int t = __builtin_popcountll( xor4096i() ); for( int j = 0; j < k; j++ ) c[ i + j ] += t; } } double norm = 1. / ( 4096 * k * 64 ); for( int i = k; i < n; i++ ) printf( "%f\n", c[ i ] * norm ); }