📄 gaussrandom.h
字号:
// GaussRandom.h: interface for the CGaussRandom class.
//
//////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//File :GaussRandom.h
//Author :郭瑞杰
//Description:用于生成高斯随机数
//Data :2004.4.6
//Mail :guonanm@mails.gscas.ac.cn
//你可以任意修改复制传播此源码,但不得用于商业用途。如果你修改了此源码,
//请给我发一份。谢谢!
///////////////////////////////////////////////////////////////////////
#if !defined(AFX_GAUSSRANDOM_H__365F93DA_D5AC_47A2_B9F4_88608FDB0E67__INCLUDED_)
#define AFX_GAUSSRANDOM_H__365F93DA_D5AC_47A2_B9F4_88608FDB0E67__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define GAUSS_TABLE_LENGTH 256
#define INVALID_BLOCK 0xFFFF
#define BLOCK_SIZE 512
const DWORD MCoef_32[2] = {0xE7BD2160,0xDA3A2A9C};
const WORD MCode_16[4] = {0xD31C,0xC36C,0xD0A2,0xD228};
class CGaussRandom
{
public:
CGaussRandom();
virtual ~CGaussRandom();
public:
//用于产生在[nMin,nMax]之间的随机数
int Random(int nMin,int nMax);
float NormalRNG();//float * Gauss_F, int Length);
DWORD Seq32(DWORD Key);
WORD RNG();
DWORD RNG32();
void NormalTable(float *FTable, float * fTable,int Length);
private:
float Gauss_F[GAUSS_TABLE_LENGTH];
float Gauss_f[GAUSS_TABLE_LENGTH];
DWORD m_RandomKey,m_RandomKey32;
};
#endif // !defined(AFX_GAUSSRANDOM_H__365F93DA_D5AC_47A2_B9F4_88608FDB0E67__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -