noise.cpp
来自「Mobile STK for Symbian OS V0.1」· C++ 代码 · 共 77 行
CPP
77 行
/***************************************************//*! \class Noise \brief STK noise generator. Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another. by Perry R. Cook and Gary P. Scavone, 1995 - 2005.*//***************************************************/#include "Noise.h"#if !defined(SYMBIAN)#include <stdlib.h>#include <time.h>#else#include "symbmath.h"#include "debug.h"#undef DEBUG#endifNoise :: Noise() : Generator(){ // Seed the random number generator with system time. this->setSeed( 0 ); lastOutput_ = (StkFloat) 0.0; dcnt = 0;}Noise :: Noise( unsigned int seed ) : Generator(){ // Seed the random number generator this->setSeed( seed ); lastOutput_ = (StkFloat) 0.0; dcnt = 0;}Noise :: ~Noise(){}void Noise :: setSeed( unsigned int seed ){ if ( seed == 0 )#if !defined(SYMBIAN) srand( (unsigned int) time(NULL) );#else { unsigned int seed = (unsigned int) User::TickCount(); srand( seed ); }#endif else srand( seed );}StkFloat Noise :: computeSample(){ TUint32 trnd; trnd = rand(); trnd = trnd & 0x7fffffff; lastOutput_= (StkFloat) (2.0 * trnd / (RAND_MAX + 1.0) ); lastOutput_ -= 1.0;#ifdef DEBUG if(dcnt < 5) { CStaticDebug::WriteIntN((TInt)(lastOutput_*1000));
dcnt ++;
}
#endif return lastOutput_;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?