⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rand.h

📁 VC小波应用 分形和混沌 FRACTAL AND GRASS DEMO
💻 H
字号:
// Rand.h: interface for the CRand class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RAND_H__93D96587_C99E_4DD1_BB23_6B6C3BB68C28__INCLUDED_)
#define AFX_RAND_H__93D96587_C99E_4DD1_BB23_6B6C3BB68C28__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "BaseTypes.h"

void _srand(unsigned long iseed);
RandType _rand(void);
RandType _randgauss(void);
RandType _randBiExponential(void);
RandType _randExponential(void);
RandType _randBiUniform(void);

class CRandBase
{
public:
	CRandBase(RandType new_mean=0,RandType new_stdev=1)
		:m_mean(new_mean),m_seed(1010101)
	{
		m_stdev=new_stdev>0?new_stdev:-new_stdev;
	};
	void setseed(long new_seed);
	void setCurSeed(long new_seed);
	void setCurSeed();
	void setmean(RandType new_mean){ m_mean=new_mean;};
	void setdev(RandType new_stdev)
	{ 
		m_stdev=new_stdev>0?new_stdev:-new_stdev;
	};
	RandType getmean(void){ return m_mean;};
	RandType getdev(void){ return m_stdev;};
	virtual RandType next(void)=0;
	virtual ~CRandBase(){};
protected:
	RandType m_mean,m_stdev;
	long m_seed;
};

class CRandUniform : public CRandBase
{
public:
	CRandUniform(RandType new_mean=0,RandType new_stdev=1)
		:CRandBase(new_mean,new_stdev)
	{
	};
	virtual ~CRandUniform(){};
	virtual RandType next(void);
};

class CRandExponential : public CRandBase
{
public:
	CRandExponential(RandType new_mean=0,RandType new_stdev=1)
		:CRandBase(new_mean,new_stdev)
	{
		CalcRange();
	};
	virtual ~CRandExponential(){};
	virtual RandType next(void);
	void CalcRange();
private:
	RandType m_min,m_max;
};

class CRandGauss : public CRandBase
{
public:
	CRandGauss(RandType new_mean=0,RandType new_stdev=1)
		:CRandBase(new_mean,new_stdev)
	{
	};
	virtual ~CRandGauss(){};
	virtual RandType next(void);
};

#endif // !defined(AFX_RAND_H__93D96587_C99E_4DD1_BB23_6B6C3BB68C28__INCLUDED_)

⌨️ 快捷键说明

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