VF_noiseVD_noiseVE_noise
Funktionweißes Rauschen
Syntax C/C++#include <VFstd.h>
long VF_noise( fVector X, ui size, long seed, float Amp );
C++ VecObj#include <OptiVec.h>
long vector<T>::noise( long seed, const T& Amp );
Pascal/Delphiuses VFstd;
function VF_noise( X:fVector; size:UIntSize; Seed:LongInt; Amp:Single ): LongInt;
CUDA-Funktion C/C++#include <cudaVFstd.h>
int cudaVF_noise( fVector X, ui size, long seed, float Amp );
CUDA-Funktion Pascal/Delphiuses VFstd;
function cudaVF_noise( X:fVector; size:UIntSize; Seed:LongInt; Amp:Single ): IntBool;
BeschreibungWeißes Rauschen wird mit der Amplitude Amp generiert, d.h. die erzeugten Werte liegen zwischen -Amp/2 und +Amp/2 (beide Extremwerte eingeschlossen). seed kann völlig willkürlich gewählt werden. Nachfolgende Aufrufe mit demselben Wert von seed ergeben identische Resultate; für verschiedene Werte von seed sind die Resultate unkorreliert.

Intern gebrauchen diese Funktionen einen 32-bit-Zufallszahlengenerator nach H.W.Lewis, wobei zusätzliche Schritte (sog. "Bays-Durham shuffle") der weitgehenden Vermeidung sequentieller Korrelationen dienen.
Eine 32-bit-Zahl wird zurückgegeben, die als Seed für einen neuen Funktionsaufruf dienen könnte. Dieser neue Aufruf würde allerdings nicht einfach die Serie fortsetzen, da intern bei jedem Aufruf erst ein "State" des Zufallszahlen-Generators aufgebaut wird. Falls die Möglichkeit gewünscht wird, die Serie fortsetzen zu können, sollte statt dieser Funktion VF_noiseLC gewählt werden.
Durch die Beschränkung auf 32-bit ist die Qualität der Zufallszahlen ergibt sich eine gewisse Granularität der erhaltenen Fließkomma-Zahlen. Für höhere Auflösung in den VD_ und VE_ Versionen sollte man VD_random verwenden.

Ein long-Wert wird zurückgegeben, der als neuer seed-Wert für spätere Aufrufe verwendet werden kann.

Fehlerbehandlungkeine
Rückgabewertletzte intern generierte 32-bit-Zufallszahl; kann als neuer Startwert für spätere Aufrufe verwandt werden
Querverweisrand,   random,   VF_random,   VF_noiseLC

VectorLib Inhaltsverzeichnis  OptiVec Home