GeNN  2.2.3
GPU enhanced Neuronal Networks (GeNN)
isaac.cc File Reference

Header file and implementation of the ISAAC random number generator. More...

#include <stdlib.h>

Classes

class  QTIsaac< ALPHA, T >
 
struct  QTIsaac< ALPHA, T >::randctx
 

Macros

#define __ISAAC_HPP
 macro for avoiding multiple inclusion during compilation More...
 

Typedefs

typedef unsigned long int ISAAC_INT
 

Variables

const ISAAC_INT GOLDEN_RATIO = ISAAC_INT(0x9e3779b9)
 

Detailed Description

Header file and implementation of the ISAAC random number generator.

C++ TEMPLATE VERSION OF Robert J. Jenkins Jr.'s ISAAC Random Number Generator.

Ported from vanilla C to to template C++ class by Quinn Tyler Jackson on 16-23 July 1998.

qjackson@wave.home.com

The function for the expected period of this random number generator, according to Jenkins is:

f(a,b) = 2**((a+b*(3+2^^a)-1)

(where a is ALPHA and b is bitwidth)

So, for a bitwidth of 32 and an ALPHA of 8, the expected period of ISAAC is:

2^^(8+32*(3+2^^8)-1) = 2^^8295

Jackson has been able to run implementations with an ALPHA as high as 16, or

2^^2097263

Macro Definition Documentation

#define __ISAAC_HPP

macro for avoiding multiple inclusion during compilation

Typedef Documentation

typedef unsigned long int ISAAC_INT

Variable Documentation

const ISAAC_INT GOLDEN_RATIO = ISAAC_INT(0x9e3779b9)