VF_noiseLC | VD_noiseLC | VE_noiseLC |
|
Function | Initialize a vector with "white" noiseLC |
|
Syntax C/C++ | #include <VFstd.h>
void VF_noiseLC( fVector X, ui size, long seed, float Amp, V_RANDOMLCSTATE *state ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::noiseLC( long seed, const T& Amp, V_RANDOMLCSTATE *state); |
Pascal/Delphi | uses VFstd;
procedure VF_noiseLC( X:fVector; size:UIntSize; Seed:LongInt; Amp:Single; state:PV_RANDOMLCSTATE ); |
|
CUDA function C/C++ | #include <cudaVFstd.h>
int cudaVF_noiseLC( fVector X, ui size, long seed, float Amp, V_RANDOMLCSTATE );
|
CUDA function Pascal/Delphi | uses VFstd;
function cudaVF_noiseLC( X:fVector; size:UIntSize; Seed:LongInt; Amp:Single; state:PV_RANDOMLCSTATE ): IntBool;
|
|
Description | White noise is generated with the amplitude Amp, i.e., the output values are between -Amp/2 and +Amp/2 (both extrema included). "seed" may be completely arbitrary. A non-zero value of seed leads to the start of a new series, whereas seed=0 leads to the series whose state is stored in the variable state to be continued.
Internally, these functions employ a linear-congruential (hence the name component "LC") 32-bit integer random number generator by H.W.Lewis, with additional steps (so-called "Bays-Durham shuffle") to break sequential correlations.
A simplified form of this function is available as VF_noise.
Because the random numbers are only 32-bit, there is some granularity in the VD_ and VE_ versions. If higher resolution is desired, use VD_randomLC instead.
There is no VFcu_ version of this function, as the random numbers are generated on the CPU anyway. |
|
|
|
|