isaac64.c File Reference

#include <../../nrnconf.h>
#include "isaac64.h"
Include dependency graph for isaac64.c:
This graph shows which files directly or indirectly include this file:

Defines

#define ind(mm, x)   (*(ub8 *)((ub1 *)(mm) + ((x) & ((RANDSIZ-1)<<3))))
#define rngstep(mix, a, b, mm, m, m2, r, x)
#define mix(a, b, c, d, e, f, g, h)

Functions

void isaac64_generate (struct isaac64_state *rng)
void isaac64_init (struct isaac64_state *rng, ub4 seed)

Define Documentation

#define ind ( mm,
x   )     (*(ub8 *)((ub1 *)(mm) + ((x) & ((RANDSIZ-1)<<3))))

Referenced by assign().

#define mix ( a,
b,
c,
d,
e,
f,
g,
 ) 
Value:
{ \
   a-=e; f^=h>>9;  h+=a; \
   b-=f; g^=a<<9;  a+=b; \
   c-=g; h^=b>>23; b+=c; \
   d-=h; a^=c<<15; c+=d; \
   e-=a; b^=d>>14; d+=e; \
   f-=b; c^=e<<20; e+=f; \
   g-=c; d^=f>>17; f+=g; \
   h-=d; e^=g<<14; g+=h; \
}

Referenced by isaac64_init().

#define rngstep ( mix,
a,
b,
mm,
m,
m2,
r,
x   ) 
Value:
{ \
  x = *m;  \
  a = (mix) + *(m2++); \
  *(m++) = y = ind(mm,x) + a + b; \
  *(r++) = b = ind(mm,y>>RANDSIZL) + x; \
}

Referenced by isaac64_generate().


Function Documentation

void isaac64_generate ( struct isaac64_state rng  ) 
void isaac64_init ( struct isaac64_state rng,
ub4  seed 
)
Generated on Mon Jun 13 08:10:30 2011 for NEURON by  doxygen 1.6.3