aboutsummaryrefslogtreecommitdiffstats
path: root/vppinfra/vppinfra/random_isaac.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-08-15 11:12:27 -0400
committerDave Barach <dave@barachs.net>2016-08-15 11:12:40 -0400
commitc379999665febd12ec55bfb3a7545224f2b39d3d (patch)
tree8bf0c11e52c2162e1239b6c3f4a5f74b62a07409 /vppinfra/vppinfra/random_isaac.c
parentb3d93dacfde8ab21bbce171fff2971b2ed7bce6a (diff)
VPP-327 Coding standards cleanup for vppinfra
Fix additional a few additional deviations reported elsewhere by checkstyle Change-Id: I026a8ae1c5b1856bbe3c4a555e1b690e7501b045 Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'vppinfra/vppinfra/random_isaac.c')
-rw-r--r--vppinfra/vppinfra/random_isaac.c282
1 files changed, 174 insertions, 108 deletions
diff --git a/vppinfra/vppinfra/random_isaac.c b/vppinfra/vppinfra/random_isaac.c
index ad2c165da46..6f00fc32424 100644
--- a/vppinfra/vppinfra/random_isaac.c
+++ b/vppinfra/vppinfra/random_isaac.c
@@ -68,9 +68,10 @@
*(r++) = b = ind32(mm,y>>ISAAC_LOG2_SIZE) + x; \
}
-void isaac (isaac_t * ctx, uword * results)
+void
+isaac (isaac_t * ctx, uword * results)
{
- u32 a, b, c, x, y, * m, * mm, * m2, * r, * mend;
+ u32 a, b, c, x, y, *m, *mm, *m2, *r, *mend;
mm = ctx->memory;
r = results;
@@ -83,19 +84,19 @@ void isaac (isaac_t * ctx, uword * results)
m = mm;
while (m < mend)
{
- rngstep32 (a<<13, a, b, mm, m, m2, r, x, y);
- rngstep32 (a>>6 , a, b, mm, m, m2, r, x, y);
- rngstep32 (a<<2 , a, b, mm, m, m2, r, x, y);
- rngstep32 (a>>16, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a << 13, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a >> 6, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a << 2, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a >> 16, a, b, mm, m, m2, r, x, y);
}
m2 = mm;
while (m2 < mend)
{
- rngstep32 (a<<13, a, b, mm, m, m2, r, x, y);
- rngstep32 (a>>6 , a, b, mm, m, m2, r, x, y);
- rngstep32 (a<<2 , a, b, mm, m, m2, r, x, y);
- rngstep32 (a>>16, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a << 13, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a >> 6, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a << 2, a, b, mm, m, m2, r, x, y);
+ rngstep32 (a >> 16, a, b, mm, m, m2, r, x, y);
}
ctx->a = a;
@@ -104,13 +105,15 @@ void isaac (isaac_t * ctx, uword * results)
}
/* Perform 2 isaac runs with different contexts simultaneously. */
-void isaac2 (isaac_t * ctx, uword * results)
+void
+isaac2 (isaac_t * ctx, uword * results)
{
#define _(n) \
u32 a##n, b##n, c##n, x##n, y##n, * m##n, * mm##n, * m2##n, * r##n, * mend##n
- _ (0); _ (1);
- (void)mend1; /* "set but unused variable" error on mend1 with gcc 4.9 */
+ _(0);
+ _(1);
+ (void) mend1; /* "set but unused variable" error on mend1 with gcc 4.9 */
#undef _
#define _(n) \
@@ -125,34 +128,35 @@ do { \
m##n = mm##n; \
} while (0)
- _ (0); _ (1);
+ _(0);
+ _(1);
#undef _
while (m0 < mend0)
{
- rngstep32 (a0<<13, a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1<<13, a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep32 (a0>>6 , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1>>6 , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep32 (a0<<2 , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1<<2 , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep32 (a0>>16, a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1>>16, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 << 13, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 << 13, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 >> 6, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 >> 6, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 << 2, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 << 2, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 >> 16, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 >> 16, a1, b1, mm1, m1, m21, r1, x1, y1);
}
m20 = mm0;
m21 = mm1;
while (m20 < mend0)
{
- rngstep32 (a0<<13, a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1<<13, a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep32 (a0>>6 , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1>>6 , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep32 (a0<<2 , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1<<2 , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep32 (a0>>16, a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep32 (a1>>16, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 << 13, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 << 13, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 >> 6, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 >> 6, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 << 2, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 << 2, a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep32 (a0 >> 16, a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep32 (a1 >> 16, a1, b1, mm1, m1, m21, r1, x1, y1);
}
ctx[0].a = a0;
@@ -175,39 +179,64 @@ do { \
h^=a>>9; c+=h; a+=b; \
}
-void isaac_init (isaac_t * ctx, uword * seeds)
+void
+isaac_init (isaac_t * ctx, uword * seeds)
{
- word i;
- u32 a, b, c, d, e, f, g, h, * m, * r;
-
- ctx->a = ctx->b = ctx->c = 0;
- m = ctx->memory;
- r = seeds;
-
- a = b = c = d = e = f = g = h = 0x9e3779b9; /* the golden ratio */
-
- for (i = 0; i < 4; ++i) /* scramble it */
- mix32(a,b,c,d,e,f,g,h);
-
- /* initialize using the contents of r[] as the seed */
- for (i=0; i<ISAAC_SIZE; i+=8)
- {
- a+=r[i ]; b+=r[i+1]; c+=r[i+2]; d+=r[i+3];
- e+=r[i+4]; f+=r[i+5]; g+=r[i+6]; h+=r[i+7];
- mix32(a,b,c,d,e,f,g,h);
- m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
- m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
- }
-
- /* do a second pass to make all of the seed affect all of m */
- for (i=0; i<ISAAC_SIZE; i+=8)
- {
- a+=m[i ]; b+=m[i+1]; c+=m[i+2]; d+=m[i+3];
- e+=m[i+4]; f+=m[i+5]; g+=m[i+6]; h+=m[i+7];
- mix32(a,b,c,d,e,f,g,h);
- m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
- m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
- }
+ word i;
+ u32 a, b, c, d, e, f, g, h, *m, *r;
+
+ ctx->a = ctx->b = ctx->c = 0;
+ m = ctx->memory;
+ r = seeds;
+
+ a = b = c = d = e = f = g = h = 0x9e3779b9; /* the golden ratio */
+
+ for (i = 0; i < 4; ++i) /* scramble it */
+ mix32 (a, b, c, d, e, f, g, h);
+
+ /* initialize using the contents of r[] as the seed */
+ for (i = 0; i < ISAAC_SIZE; i += 8)
+ {
+ a += r[i];
+ b += r[i + 1];
+ c += r[i + 2];
+ d += r[i + 3];
+ e += r[i + 4];
+ f += r[i + 5];
+ g += r[i + 6];
+ h += r[i + 7];
+ mix32 (a, b, c, d, e, f, g, h);
+ m[i] = a;
+ m[i + 1] = b;
+ m[i + 2] = c;
+ m[i + 3] = d;
+ m[i + 4] = e;
+ m[i + 5] = f;
+ m[i + 6] = g;
+ m[i + 7] = h;
+ }
+
+ /* do a second pass to make all of the seed affect all of m */
+ for (i = 0; i < ISAAC_SIZE; i += 8)
+ {
+ a += m[i];
+ b += m[i + 1];
+ c += m[i + 2];
+ d += m[i + 3];
+ e += m[i + 4];
+ f += m[i + 5];
+ g += m[i + 6];
+ h += m[i + 7];
+ mix32 (a, b, c, d, e, f, g, h);
+ m[i] = a;
+ m[i + 1] = b;
+ m[i + 2] = c;
+ m[i + 3] = d;
+ m[i + 4] = e;
+ m[i + 5] = f;
+ m[i + 6] = g;
+ m[i + 7] = h;
+ }
}
#endif /* uword_bits == 32 */
@@ -222,9 +251,10 @@ void isaac_init (isaac_t * ctx, uword * seeds)
*(r++) = b = ind64(mm,y>>ISAAC_LOG2_SIZE) + x; \
}
-void isaac (isaac_t * ctx, uword * results)
+void
+isaac (isaac_t * ctx, uword * results)
{
- u64 a, b, c, x, y, * m, * mm, * m2, * r, * mend;
+ u64 a, b, c, x, y, *m, *mm, *m2, *r, *mend;
mm = ctx->memory;
r = results;
@@ -237,19 +267,19 @@ void isaac (isaac_t * ctx, uword * results)
m = mm;
while (m < mend)
{
- rngstep64 (~(a^(a<<21)), a, b, mm, m, m2, r, x, y);
- rngstep64 ( a^(a>>5) , a, b, mm, m, m2, r, x, y);
- rngstep64 ( a^(a<<12) , a, b, mm, m, m2, r, x, y);
- rngstep64 ( a^(a>>33) , a, b, mm, m, m2, r, x, y);
+ rngstep64 (~(a ^ (a << 21)), a, b, mm, m, m2, r, x, y);
+ rngstep64 (a ^ (a >> 5), a, b, mm, m, m2, r, x, y);
+ rngstep64 (a ^ (a << 12), a, b, mm, m, m2, r, x, y);
+ rngstep64 (a ^ (a >> 33), a, b, mm, m, m2, r, x, y);
}
m2 = mm;
while (m2 < mend)
{
- rngstep64 (~(a^(a<<21)), a, b, mm, m, m2, r, x, y);
- rngstep64 ( a^(a>>5) , a, b, mm, m, m2, r, x, y);
- rngstep64 ( a^(a<<12) , a, b, mm, m, m2, r, x, y);
- rngstep64 ( a^(a>>33) , a, b, mm, m, m2, r, x, y);
+ rngstep64 (~(a ^ (a << 21)), a, b, mm, m, m2, r, x, y);
+ rngstep64 (a ^ (a >> 5), a, b, mm, m, m2, r, x, y);
+ rngstep64 (a ^ (a << 12), a, b, mm, m, m2, r, x, y);
+ rngstep64 (a ^ (a >> 33), a, b, mm, m, m2, r, x, y);
}
ctx->a = a;
@@ -258,12 +288,14 @@ void isaac (isaac_t * ctx, uword * results)
}
/* Perform 2 isaac runs with different contexts simultaneously. */
-void isaac2 (isaac_t * ctx, uword * results)
+void
+isaac2 (isaac_t * ctx, uword * results)
{
#define _(n) \
u64 a##n, b##n, c##n, x##n, y##n, * m##n, * mm##n, * m2##n, * r##n, * mend##n
- _ (0); _ (1);
+ _(0);
+ _(1);
#undef _
@@ -279,7 +311,8 @@ do { \
m##n = mm##n; \
} while (0)
- _ (0); _ (1);
+ _(0);
+ _(1);
#undef _
@@ -287,28 +320,28 @@ do { \
while (m0 < mend0)
{
- rngstep64 (~(a0^(a0<<21)), a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 (~(a1^(a1<<21)), a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep64 ( a0^(a0>>5) , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 ( a1^(a1>>5) , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep64 ( a0^(a0<<12) , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 ( a1^(a1<<12) , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep64 ( a0^(a0>>33) , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 ( a1^(a1>>33) , a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (~(a0 ^ (a0 << 21)), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (~(a1 ^ (a1 << 21)), a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (a0 ^ (a0 >> 5), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (a1 ^ (a1 >> 5), a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (a0 ^ (a0 << 12), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (a1 ^ (a1 << 12), a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (a0 ^ (a0 >> 33), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (a1 ^ (a1 >> 33), a1, b1, mm1, m1, m21, r1, x1, y1);
}
m20 = mm0;
m21 = mm1;
while (m20 < mend0)
{
- rngstep64 (~(a0^(a0<<21)), a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 (~(a1^(a1<<21)), a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep64 ( a0^(a0>>5) , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 ( a1^(a1>>5) , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep64 ( a0^(a0<<12) , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 ( a1^(a1<<12) , a1, b1, mm1, m1, m21, r1, x1, y1);
- rngstep64 ( a0^(a0>>33) , a0, b0, mm0, m0, m20, r0, x0, y0);
- rngstep64 ( a1^(a1>>33) , a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (~(a0 ^ (a0 << 21)), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (~(a1 ^ (a1 << 21)), a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (a0 ^ (a0 >> 5), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (a1 ^ (a1 >> 5), a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (a0 ^ (a0 << 12), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (a1 ^ (a1 << 12), a1, b1, mm1, m1, m21, r1, x1, y1);
+ rngstep64 (a0 ^ (a0 >> 33), a0, b0, mm0, m0, m20, r0, x0, y0);
+ rngstep64 (a1 ^ (a1 >> 33), a1, b1, mm1, m1, m21, r1, x1, y1);
}
ctx[0].a = a0;
@@ -331,38 +364,71 @@ do { \
h-=d; e^=g<<14; g+=h; \
}
-void isaac_init (isaac_t * ctx, uword * seeds)
+void
+isaac_init (isaac_t * ctx, uword * seeds)
{
word i;
- u64 a, b, c, d, e, f, g, h, * m, * r;
+ u64 a, b, c, d, e, f, g, h, *m, *r;
ctx->a = ctx->b = ctx->c = 0;
m = ctx->memory;
r = seeds;
- a = b = c = d = e = f = g = h = 0x9e3779b97f4a7c13LL; /* the golden ratio */
+ a = b = c = d = e = f = g = h = 0x9e3779b97f4a7c13LL; /* the golden ratio */
- for (i=0; i<4; ++i) /* scramble it */
- mix64(a,b,c,d,e,f,g,h);
+ for (i = 0; i < 4; ++i) /* scramble it */
+ mix64 (a, b, c, d, e, f, g, h);
- for (i=0; i<ISAAC_SIZE; i+=8) /* fill in mm[] with messy stuff */
+ for (i = 0; i < ISAAC_SIZE; i += 8) /* fill in mm[] with messy stuff */
{
- a+=r[i ]; b+=r[i+1]; c+=r[i+2]; d+=r[i+3];
- e+=r[i+4]; f+=r[i+5]; g+=r[i+6]; h+=r[i+7];
- mix64(a,b,c,d,e,f,g,h);
- m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
- m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
+ a += r[i];
+ b += r[i + 1];
+ c += r[i + 2];
+ d += r[i + 3];
+ e += r[i + 4];
+ f += r[i + 5];
+ g += r[i + 6];
+ h += r[i + 7];
+ mix64 (a, b, c, d, e, f, g, h);
+ m[i] = a;
+ m[i + 1] = b;
+ m[i + 2] = c;
+ m[i + 3] = d;
+ m[i + 4] = e;
+ m[i + 5] = f;
+ m[i + 6] = g;
+ m[i + 7] = h;
}
/* do a second pass to make all of the seed affect all of mm */
- for (i=0; i<ISAAC_SIZE; i+=8)
+ for (i = 0; i < ISAAC_SIZE; i += 8)
{
- a+=m[i ]; b+=m[i+1]; c+=m[i+2]; d+=m[i+3];
- e+=m[i+4]; f+=m[i+5]; g+=m[i+6]; h+=m[i+7];
- mix64(a,b,c,d,e,f,g,h);
- m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
- m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
+ a += m[i];
+ b += m[i + 1];
+ c += m[i + 2];
+ d += m[i + 3];
+ e += m[i + 4];
+ f += m[i + 5];
+ g += m[i + 6];
+ h += m[i + 7];
+ mix64 (a, b, c, d, e, f, g, h);
+ m[i] = a;
+ m[i + 1] = b;
+ m[i + 2] = c;
+ m[i + 3] = d;
+ m[i + 4] = e;
+ m[i + 5] = f;
+ m[i + 6] = g;
+ m[i + 7] = h;
}
}
#endif /* uword_bits == 64 */
+
+/*
+ * fd.io coding-style-patch-verification: ON
+ *
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */