|
|
Syntax C/C++ | #include <VFmath.h>
int VF_sinc( fVector Y, fVector X, ui size );
int VFx_sinc( fVector Y, fVector X, ui size, float A, float B, float C ); |
C++ VecObj | #include <OptiVec.h>
int vector<T>::sinc( const vector<T>& X );
int vector<T>::x_sinc( const vector<T>& X, const T& A, const T& B, const T& C ); |
Pascal/Delphi | uses VFmath;
function VF_sinc( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_sinc( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
CUDA-Funktion C/C++ | #include <cudaVFmath.h>
int cudaVF_sinc( fVector d_Y, fVector d_X, ui size );
int cudaVFx_sinc( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_sinc( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_sinc( fVector h_Y, fVector h_X, ui size );
int VFxcu_sinc( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
|
CUDA-Funktion Pascal/Delphi | uses VFmath;
function cudaVF_sinc( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_sinc( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_sinc( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_sinc( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_sinc( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
|
|
Beschreibung | einfache Versionen: Yi = sinc( Xi ) = sin( Xi ) / Xi
erweiterte Versionen: Yi = C * sinc( A*Xi+B )
Die sinc-Funktion für ein Argument von 0.0 ist als 1.0 definiert. Als Fourier-Transformierte eines Rechteck-Impulses wird die sinc-Funktion beispielsweise zur Beschreibung der Beugung an einem Spalt verwendet. |
|
Fehlerbehandlung | Für sehr große Argumente wird der Genauigkeitsverlust in der Berechnung der Sinusfunktion durch den gleichzeitig beginnenden Unterlauf "geheilt". Daher dürften keine Fehler auftreten. |
|
Rückgabewert | immer FALSE(0). |
|
|