OpenCoverage

rand-isaac.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/gl/lib/rand-isaac.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static inline isaac_word-
6just (isaac_word a)-
7{-
8 isaac_word desired_bits = ((isaac_word) 1 << 1 << ((1 << 6) - 1)) - 1;-
9 return
executed 815872 times by 7 tests: return a & desired_bits;
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
a & desired_bits;
executed 815872 times by 7 tests: return a & desired_bits;
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
815872
10}-
11-
12-
13static inline isaac_word-
14ind (isaac_word const *m, isaac_word x)-
15{-
16 if (sizeof *m * 8 == (1 << 6)
sizeof *m * 8 == (1 << 6)Description
TRUEevaluated 866304 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEnever evaluated
)
0-866304
17 {-
18-
19-
20-
21 void const *void_m = m;-
22 char const *base_p = void_m;-
23 void const *word_p = base_p + (x & (((1 << 8) - 1) * sizeof *m));-
24 isaac_word const *p = word_p;-
25 return
executed 866304 times by 7 tests: return *p;
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
*p;
executed 866304 times by 7 tests: return *p;
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
866304
26 }-
27 else-
28 {-
29-
30 return
never executed: return m[(x / ((1 << 6) / 8)) & ((1 << 8) - 1)];
m[(x / ((1 << 6) / 8)) & ((1 << 8) - 1)];
never executed: return m[(x / ((1 << 6) / 8)) & ((1 << 8) - 1)];
0
31 }-
32}-
33-
34-
35void __attribute__ ((__no_sanitize_undefined__))-
36isaac_refill (struct isaac_state *s, isaac_word result[(1 << 8)])-
37{-
38-
39 isaac_word a = s->a;-
40 isaac_word b = s->b + (++s->c);-
41-
42-
43 isaac_word *m = s->m;-
44 isaac_word *r = result;-
45-
46 enum { HALF = (1 << 8) / 2 };-
47 do-
48 {-
49 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (a << 13) : (~ (a ^ (a << 21)))))) + m[HALF + (0)]; x = m[0]; m[0] = y = ind (s->m, x) + a + b; r[0] = b = just (ind (s->m, y >> 8) + x); };
0-54144
50 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (just (a) >> 6) : (a ^ (just (a) >> 5))))) + m[HALF + (1)]; x = m[1]; m[1] = y = ind (s->m, x) + a + b; r[1] = b = just (ind (s->m, y >> 8) + x); };
0-54144
51 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (a << 2) : (a ^ ( a << 12))))) + m[HALF + (2)]; x = m[2]; m[2] = y = ind (s->m, x) + a + b; r[2] = b = just (ind (s->m, y >> 8) + x); };
0-54144
52 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (just (a) >> 16) : (a ^ (just (a) >> 33))))) + m[HALF + (3)]; x = m[3]; m[3] = y = ind (s->m, x) + a + b; r[3] = b = just (ind (s->m, y >> 8) + x); };
0-54144
53 r += 4;-
54 }
executed 54144 times by 7 tests: end of block
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
54144
55 while ((
(m += 4) < s->m + HALFDescription
TRUEevaluated 52452 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEevaluated 1692 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
m += 4) < s->m + HALF
(m += 4) < s->m + HALFDescription
TRUEevaluated 52452 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEevaluated 1692 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
);
1692-52452
56-
57 do-
58 {-
59 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (a << 13) : (~ (a ^ (a << 21)))))) + m[-HALF + (0)]; x = m[0]; m[0] = y = ind (s->m, x) + a + b; r[0] = b = just (ind (s->m, y >> 8) + x); };
0-54144
60 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (just (a) >> 6) : (a ^ (just (a) >> 5))))) + m[-HALF + (1)]; x = m[1]; m[1] = y = ind (s->m, x) + a + b; r[1] = b = just (ind (s->m, y >> 8) + x); };
0-54144
61 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (a << 2) : (a ^ ( a << 12))))) + m[-HALF + (2)]; x = m[2]; m[2] = y = ind (s->m, x) + a + b; r[2] = b = just (ind (s->m, y >> 8) + x); };
0-54144
62 { isaac_word x, y; a = (((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 54144 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (a) : (0)) ^ (((1 << 6) == 32 ? (just (a) >> 16) : (a ^ (just (a) >> 33))))) + m[-HALF + (3)]; x = m[3]; m[3] = y = ind (s->m, x) + a + b; r[3] = b = just (ind (s->m, y >> 8) + x); };
0-54144
63 r += 4;-
64 }
executed 54144 times by 7 tests: end of block
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
54144
65 while ((
(m += 4) < s->m + (1 << 8)Description
TRUEevaluated 52452 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEevaluated 1692 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
m += 4) < s->m + (1 << 8)
(m += 4) < s->m + (1 << 8)Description
TRUEevaluated 52452 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEevaluated 1692 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
);
1692-52452
66-
67 s->a = a;-
68 s->b = b;-
69}
executed 1692 times by 7 tests: end of block
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1692
70void-
71isaac_seed (struct isaac_state *s)-
72{-
73 isaac_word a = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0x1367df5aU) : (0x647c4677a2884b7cUL));
0-649
74 isaac_word b = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0x95d90059U) : (0xb9f8b322c73ac862UL));
0-649
75 isaac_word c = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0xc3163e4bU) : (0x8c0ea5053d4712a0UL));
0-649
76 isaac_word d = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0x0f421ad8U) : (0xb29b2e824a595524UL));
0-649
77 isaac_word e = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0xd92a4a78U) : (0x82f053db8355e0ceUL));
0-649
78 isaac_word f = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0xa51a3c49U) : (0x48fe4a0fa5a09315UL));
0-649
79 isaac_word g = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0xc4efea1bU) : (0xae985bf2cbfc89edUL));
0-649
80 isaac_word h = ((
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
1 << 6) == 32
(1 << 6) == 32Description
TRUEnever evaluated
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
? (0x30609119U) : (0x98f5704f6c44c0abUL));
0-649
81 { int i; for (i = 0; i < (1 << 8)
i < (1 << 8)Description
TRUEevaluated 20768 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
; i += 8) { a += s->m[i]; b += s->m[i + 1]; c += s->m[i + 2]; d += s->m[i + 3]; e += s->m[i + 4]; f += s->m[i + 5]; g += s->m[i + 6]; h += s->m[i + 7]; { a -= e; f ^= just (h) >> 9; h += a; b -= f; g ^= a << 9; a += b; c -= g; h ^= just (b) >> 23; b += c; d -= h; a ^= c << 15; c += d; e -= a; b ^= just (d) >> 14; d += e; f -= b; c ^= e << 20; e += f; g -= c; d ^= just (f) >> 17; f += g; h -= d; e ^= g << 14; g += h; }; s->m[i] = a; s->m[i + 1] = b; s->m[i + 2] = c; s->m[i + 3] = d; s->m[i + 4] = e; s->m[i + 5] = f; s->m[i + 6] = g; s->m[i + 7] = h; }
executed 20768 times by 7 tests: end of block
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
};
649-20768
82 { int i; for (i = 0; i < (1 << 8)
i < (1 << 8)Description
TRUEevaluated 20768 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
FALSEevaluated 649 times by 7 tests
Evaluated by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
; i += 8) { a += s->m[i]; b += s->m[i + 1]; c += s->m[i + 2]; d += s->m[i + 3]; e += s->m[i + 4]; f += s->m[i + 5]; g += s->m[i + 6]; h += s->m[i + 7]; { a -= e; f ^= just (h) >> 9; h += a; b -= f; g ^= a << 9; a += b; c -= g; h ^= just (b) >> 23; b += c; d -= h; a ^= c << 15; c += d; e -= a; b ^= just (d) >> 14; d += e; f -= b; c ^= e << 20; e += f; g -= c; d ^= just (f) >> 17; f += g; h -= d; e ^= g << 14; g += h; }; s->m[i] = a; s->m[i + 1] = b; s->m[i + 2] = c; s->m[i + 3] = d; s->m[i + 4] = e; s->m[i + 5] = f; s->m[i + 6] = g; s->m[i + 7] = h; }
executed 20768 times by 7 tests: end of block
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
};
649-20768
83-
84 s->a = s->b = s->c = 0;-
85}
executed 649 times by 7 tests: end of block
Executed by:
  • cp
  • ln
  • mktemp
  • mv
  • shred
  • shuf
  • sort
649
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2