isaac64.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  isaac64_state

Defines

#define RANDSIZL   (4)
#define RANDSIZ   (1<<RANDSIZL)
#define RANDMAX   (2*RANDSIZ)
#define DBL32   (2.3283064365386962890625e-10)
#define DBL53   (1.1102230246251565404236316680908203125e-16)
#define DBL64   (5.42101086242752217003726400434970855712890625e-20)
#define MSK53   0x001FFFFFFFFFFFFFLL
#define isaac64_uint32(rng)
#define isaac64_uint64(rng)
#define isaac64_dbl32(rng)
#define isaac64_dbl53(rng)
#define isaac64_dbl64(rng)

Typedefs

typedef unsigned long long ub8
typedef unsigned int ub4
typedef unsigned short int ub2
typedef unsigned char ub1

Functions

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

Define Documentation

#define DBL32   (2.3283064365386962890625e-10)
#define DBL53   (1.1102230246251565404236316680908203125e-16)
#define DBL64   (5.42101086242752217003726400434970855712890625e-20)
#define isaac64_dbl32 ( rng   ) 
Value:
(rng->randcnt>0 ? \
     ( DBL32 * (*(((ub4 *)(rng->randrsl)) + (rng->randcnt-=1)) ) ) : \
     ( isaac64_generate(rng), \
       rng->randcnt=RANDMAX-1, \
       DBL32 * (*(((ub4 *)(rng->randrsl)) + rng->randcnt)) ))

Referenced by nrnisaac_dbl_pick().

#define isaac64_dbl53 ( rng   ) 
Value:
(rng->randcnt>1 ? \
     ( DBL53 * ((*((ub8 *)(((ub4 *)(rng->randrsl)) + (rng->randcnt-=2))))>>11) ) : \
     ( isaac64_generate(rng), \
       rng->randcnt=RANDMAX-2, \
       DBL64 * ((*((ub8 *)(((ub4 *)(rng->randrsl)) + rng->randcnt)))>>11) ))
#define isaac64_dbl64 ( rng   ) 
Value:
(rng->randcnt>1 ? \
     ( DBL64 * (*((ub8 *)(((ub4 *)(rng->randrsl)) + (rng->randcnt-=2)))) ) : \
     ( isaac64_generate(rng), \
       rng->randcnt=RANDMAX-2, \
       DBL64 * (*((ub8 *)(((ub4 *)(rng->randrsl)) + rng->randcnt))) ))
#define isaac64_uint32 ( rng   ) 
Value:
(rng->randcnt>0 ? \
     ( *(((ub4 *)(rng->randrsl)) + (rng->randcnt-=1)) ) : \
     ( isaac64_generate(rng), \
       rng->randcnt=RANDMAX-1, \
       *(((ub4 *)(rng->randrsl)) + rng->randcnt) ))

Referenced by nrnisaac_uint32_pick().

#define isaac64_uint64 ( rng   ) 
Value:
(rng->randcnt>1 ? \
     ( *((ub8 *)(((ub4 *)(rng->randrsl)) + (rng->randcnt-=2))) ) : \
     ( isaac64_generate(rng), \
       rng->randcnt=RANDMAX-2, \
       *((ub8 *)(((ub4 *)(rng->randrsl)) + rng->randcnt)) ))
#define MSK53   0x001FFFFFFFFFFFFFLL
#define RANDMAX   (2*RANDSIZ)

Referenced by isaac64_init().

#define RANDSIZ   (1<<RANDSIZL)

Referenced by isaac64_generate(), and isaac64_init().

#define RANDSIZL   (4)

Typedef Documentation

typedef unsigned char ub1
typedef unsigned short int ub2
typedef unsigned int ub4
typedef unsigned long long ub8

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