twister.h

来自「蒙特卡罗方法可以有效地解决复杂的工程问题」· C头文件 代码 · 共 30 行

H
30
字号
#ifndef I_TWISTER_H
#define I_TWISTER_H

#include "common.h"

namespace Raytracer {

#define mtRand_N 624

class Twister
{
public:
	void Seed( unsigned long seed );	
	Twister( unsigned long seed )
	{
	    if (seed) { Seed(seed); } 
		else { Seed( (unsigned long)0xf2710812 ); }
	}
	Twister() { Seed( (unsigned long)0xf2710812 ); }
	real Rand();
	unsigned long RandL();
protected:
	 unsigned long mt[mtRand_N];
	 int mti;
};

}; // namespace Raytracer

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?