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 nonzero 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 linearcongruential (hence the name component "LC") 32bit integer random number generator by H.W.Lewis, with additional steps (socalled "BaysDurham shuffle") to break sequential correlations.
A simplified form of this function is available as VF_noise.
Because the random numbers are only 32bit, 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. 



