10#ifndef MOD_ARITH_32BIT_H
11#define MOD_ARITH_32BIT_H
22 assert (a <= 0x7FFFFFFE);
23 assert (b <= 0x7FFFFFFE);
25 return (a + b) % 0x7FFFFFFF;
28 x = (x >= 0x7FFFFFFF) ? (x - 0x7FFFFFFF) : x;
36 assert (a <= 0x7FFFFFFE);
37 assert (b <= 0x7FFFFFFE);
43 return (temp2 >= 0x7FFFFFFF) ? (temp2 - 0x7FFFFFFF) : temp2;
50 assert (sum <= 0x7FFFFFFE);
51 assert (a <= 0x7FFFFFFE);
52 assert (b <= 0x7FFFFFFE);
58 return (temp2 >= 0x7FFFFFFF) ? (temp2 - 0x7FFFFFFF) : temp2;
63 assert (sum <= 0x7FFFFFFE);
64 assert (a <= 0x7FFFFFFE);
65 assert (b <= 0x7FFFFFFE);
66 assert (c <= 0x7FFFFFFE);
67 assert (d <= 0x7FFFFFFE);
68 return mod_mac(mod_mac(sum, a, b), c, d);
72 assert (sum <= 0x7FFFFFFE);
73 assert (a <= 0x7FFFFFFE);
74 assert (b <= 0x7FFFFFFE);
75 assert (c <= 0x7FFFFFFE);
76 assert (d <= 0x7FFFFFFE);
77 assert (e <= 0x7FFFFFFE);
78 assert (f <= 0x7FFFFFFE);
79 return mod_mac2(mod_mac(sum, a, b), c, d, e, f);
83 assert (sum <= 0x7FFFFFFE);
84 assert (a <= 0x7FFFFFFE);
85 assert (b <= 0x7FFFFFFE);
86 assert (c <= 0x7FFFFFFE);
87 assert (d <= 0x7FFFFFFE);
88 assert (e <= 0x7FFFFFFE);
89 assert (f <= 0x7FFFFFFE);
90 assert (g <= 0x7FFFFFFE);
91 assert (h <= 0x7FFFFFFE);
92 return mod_mac2(mod_mac2(sum, a, b, c, d), e, f, g, h);
114 result = 107374182 * ((
int_fast32_t)(a) - result *
q) - result * r;
115 result += (result < 0 ? 0x7FFFFFFF : 0);
122 static const int32_t r = 1727 ;
124 result = 104480 * ((
int_fast32_t)(a) - result *
q) - result * r;
125 result += (result < 0 ? 0x7FFFFFFF : 0);
132 assert (result == mod_mac(sum, a, 104480));
uint_fast32_t mod_mul_x(uint_fast32_t a)
uint_fast32_t mod_mac_y(uint_fast32_t sum, uint_fast32_t a)
uint_fast32_t mod_mul_y(uint_fast32_t a)
Mac OS X ATTR com apple quarantine q