2 #define floor(a,b) ((a) / (b))
7 // As our algorithm for sqrtp does pre-filtering mod (64*63*65*11),
8 // we check that no square is thrown away by this pre-filtering.
11 for (a = 0; a <= floor(64,2); a++)
12 for (b = 0; b <= floor(63,2); b++)
13 for (c = 0; c <= floor(65,2); c++)
14 for (d = 0; d <= floor(11,2); d++) {
15 // Produce a number x == a mod 64, x == b mod 63,
16 // x == c mod 65, x == d mod 11, and square it.
17 uintL x = 1306305*a + 1967680*b + 133056*c + 2358720*d;
18 x = x % 2882880; // not strictly necessary
20 ASSERT4(sqrtp(expt_pos(x,2),&w) && w == x, a,b,c,d);