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

📄 uni_rand.cpp

📁 《无线通信系统仿真——c++使用模型》这本书的源代码
💻 CPP
字号:
//
//  File = uni_rand.cpp
//
#include "uni_rand.h"

#define _MULT 16807
#define _MOD 2147483647
#define _HALF_MOD 1073741823
#define _FMOD 2147483647.0
#define _SQUOT 127773
#define _SREM 2836

//---------------------------------------------------
bit_t RandomBit(long *seed)
{
 long temp;

 temp = (*seed)/_SQUOT;
 *seed = _MULT * (*seed - temp * _SQUOT)
         - _SREM * temp;
 if(*seed<0) *seed += _MOD;
   if(*seed > _HALF_MOD)
      return(1);
   else
      return(0);
 }
//---------------------------------------------------
unsigned long RandomLong(long *seed)
{
   long temp;

   temp = (*seed)/_SQUOT;
   *seed = _MULT * (*seed - temp * _SQUOT)
         - _SREM * temp;
   if(*seed<0) *seed += _MOD;

   return(*seed);
 }
//--------------------------------------------- 
float UniformRandom(long *seed)
{
 long temp;
 float result;

 temp = (*seed)/_SQUOT;
 *seed = _MULT * (*seed - temp * _SQUOT)
         - _SREM * temp;
 if(*seed<0) *seed += _MOD;
 result = float(*seed/_FMOD);
 return(result);
 }
 
 
double DoubleUniformRandom(long *seed)
{
 long temp;
 double result;
 temp = (*seed)/_SQUOT;
 *seed = _MULT * (*seed - temp * _SQUOT)
         - _SREM*temp;
 if(*seed<0) *seed += _MOD;
 result = *seed/double(_FMOD);
 return(result);
 }

⌨️ 快捷键说明

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