FunctionInitialize 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/Delphiuses 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/Delphiuses VFstd;
function cudaVF_noiseLC( X:fVector; size:UIntSize; Seed:LongInt; Amp:Single; state:PV_RANDOMLCSTATE ): IntBool;
DescriptionWhite 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.

Error handlingnone
Return valuenone
See alsorand,   random,   VF_randomLC,   VF_noise

VectorLib Table of Contents  OptiVec home