Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

zigrandom.h File Reference


Detailed Description

========================================================================== This code is Copyright (C) 2005, Jurgen A. Doornik. Permission to use this code for non-commercial purposes is hereby given, provided proper reference is made to: Doornik, J.A. (2005), "An Improved Ziggurat Method to Generate Normal Random Samples", mimeo, Nuffield College, University of Oxford, and www.doornik.com/research. or the published version when available. This reference is still required when using modified versions of the code. This notice should be maintained in modified versions of the code. No warranty is given regarding the correctness of this code. ==========================================================================

Author:
Jurgen A. Doornik (Creator)
Author
ejt
Name
Revision
1.1
State
Exp
Date
2007/01/25 20:54:13

Definition in file zigrandom.h.

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

Go to the source code of this file.

Defines

#define LIT_UINT64(c)   (c##ull)
#define LIT_INT64(c)   (c##ll)
#define M_RAN_INVM30   9.31322574615478515625e-010
#define M_RAN_INVM32   2.32830643653869628906e-010
#define M_RAN_INVM48   3.55271367880050092936e-015
#define M_RAN_INVM52   2.22044604925031308085e-016
#define M_RAN_INVM64   5.42101086242752217004e-020
#define RANDBL_32old(iRan1)   ((unsigned int)(iRan1) * M_RAN_INVM32)
#define RANDBL_48old(iRan1, iRan2)
#define RANDBL_52old(iRan1, iRan2)
#define RANDBL_32new(iRan1)   ((int)(iRan1) * M_RAN_INVM32 + (0.5 + M_RAN_INVM32 / 2))
#define RANDBL_48new(iRan1, iRan2)
#define RANDBL_52new(iRan1, iRan2)

Typedefs

typedef unsigned long long UINT64
typedef long long INT64
typedef double(*) DRANFUN (void)
typedef unsigned int(*) IRANFUN (void)
typedef void(*) IVECRANFUN (unsigned int *, int)
typedef void(*) DVECRANFUN (double *, int)
typedef void(*) RANSETSEEDFUN (int *, int)

Functions

void GetInitialSeeds (unsigned int auiSeed[], int cSeed, unsigned int uiSeed, unsigned int uiMin)
void RanSetSeed_MWC8222 (int *piSeed, int cSeed)
unsigned int IRan_MWC8222 (void)
double DRan_MWC8222 (void)
void VecIRan_MWC8222 (unsigned int *auiRan, int cRan)
void VecDRan_MWC8222 (double *adRan, int cRan)
void RanSetRan (const char *sRan)
void RanSetRanExt (DRANFUN DRanFun, IRANFUN IRanFun, IVECRANFUN IVecRanFun, DVECRANFUN DVecRanFun, RANSETSEEDFUN RanSetSeedFun)
double DRanU (void)
unsigned int IRanU (void)
void RanVecIntU (unsigned int *auiRan, int cRan)
void RanVecU (double *adRan, int cRan)
void RanSetSeed (int *piSeed, int cSeed)
double DProbNormal (double x)
double FRanNormalPolar (void)
double DRanNormalPolar (void)
double FRanQuanNormal (void)
double DRanQuanNormal (void)


Define Documentation

#define RANDBL_48new ( iRan1,
iRan2   ) 

Value:

((int)(iRan1) * M_RAN_INVM32 + (0.5 + M_RAN_INVM48 / 2) + \
        (int)((iRan2) & 0x0000FFFF) * M_RAN_INVM48)

Definition at line 65 of file zigrandom.h.

#define RANDBL_48old ( iRan1,
iRan2   ) 

Value:

((unsigned int)(iRan1) + (unsigned int)((iRan2) << 16) \
    * M_RAN_INVM32) * M_RAN_INVM32

Definition at line 56 of file zigrandom.h.

#define RANDBL_52new ( iRan1,
iRan2   ) 

Value:

((int)(iRan1) * M_RAN_INVM32 + (0.5 + M_RAN_INVM52 / 2) + \
        (int)((iRan2) & 0x000FFFFF) * M_RAN_INVM52)

Definition at line 68 of file zigrandom.h.

#define RANDBL_52old ( iRan1,
iRan2   ) 

Value:

((unsigned int)(iRan1) + (unsigned int)((iRan2) << 12) \
    * M_RAN_INVM32) * M_RAN_INVM32

Definition at line 59 of file zigrandom.h.


Tekkotsu v3.0
Generated Fri May 11 20:07:41 2007 by Doxygen 1.4.7