p (OptiVec Vektor-Funktion)">p">
VF_sincosrpiVD_sincosrpiVE_sincosrpi
VF_sincosrpi2VD_sincosrpi2VE_sincosrpi2
VF_sincosrpi3VD_sincosrpi3VE_sincosrpi3
FunktionSinus und Cosinus von gebrochenzahligen Vielfachen von p
Syntax C/C++#include <VFmath.h>
int VF_sincosrpi( fVector YSin, fVector YCos, iVector P, ui size, int q );
int VF_sincosrpi2( fVector YSin, fVector YCos, iVector P, ui size, int q );
int VF_sincosrpi3( fVector YSin, fVector YCos, iVector P, ui size, int q );
C++ VecObj#include <OptiVec.h>
int vector<T>::sincosrpi( vector<T> YCos, const vector<int>& P, int q );
int vector<T>::sincosrpi2( vector<T> YCos, const vector<int>& P, int q );
int vector<T>::sincosrpi3( vector<T> YCos, const vector<int>& P, int q );
Pascal/Delphiuses VFmath;
function VF_sincosrpi( YSin, YCos:fVector; P:iVector; size:UIntSize; q:Integer ): IntBool;
function VF_sincosrpi2( YSin, YCos:fVector; P:iVector; size:UIntSize; q:Integer ): IntBool;
function VF_sincosrpi3( YSin, YCos:fVector; P:iVector; size:UIntSize; q:Integer ): IntBool;
CUDA-Funktion C/C++#include <cudaVFmath.h>
int cudaVF_sincosrpi( fVector d_YSin, fVector d_YCos, iVector d_P, ui size, int q );
int cudaVF_sincosrpi2( fVector d_YSin, fVector d_YCos, iVector d_P, ui size, int q );
int cudaVF_sincosrpi3( fVector d_YSin, fVector d_YCos, iVector d_P, ui size, int q );
int VFcu_sincosrpi( fVector h_YSin, fVector h_YCos, iVector h_P, ui size, int q );
int VFcu_sincosrpi2( fVector h_YSin, fVector h_YCos, iVector h_P, ui size, int q );
int VFcu_sincosrpi3( fVector h_YSin, fVector h_YCos, iVector h_P, ui size, int q );
CUDA-Funktion Pascal/Delphiuses VFmath;
function cudaVF_sincosrpi( d_YSin, d_YCos:fVector; d_P:iVector; size:UIntSize; q:Integer ): IntBool;
function cudaVF_sincosrpi2( d_YSin, d_YCos:fVector; d_P:iVector; size:UIntSize; q:Integer ): IntBool;
function cudaVF_sincosrpi3( d_YSin, d_YCos:fVector; d_P:iVector; size:UIntSize; q:Integer ): IntBool;
function VFcu_sincosrpi( h_YSin, h_YCos:fVector; h_P:iVector; size:UIntSize; q:Integer ): IntBool;
function VFcu_sincosrpi2( h_YSin, h_YCos:fVector; h_P:iVector; size:UIntSize; q:Integer ): IntBool;
function VFcu_sincosrpi3( h_YSin, h_YCos:fVector; h_P:iVector; size:UIntSize; q:Integer ): IntBool;
BeschreibungYSini = sin( (Pi / q) * p )
YCosi = cos( (Pi / q) * p )
Es gibt drei Versionen. VF_sincosrpi ist für den allgemeinen Gebrauch mit beliebigem Nenner q bestimmt. Wenn q eine ganzzahlige Potenz von 2 ist, sollte die hierfür optimierte Funktion VF_sincosrpi2 eingesetzt werden, die viele Funktionswerte einer Tabelle entnimmt. Wenn q ein Vielfaches von 3 ist, sollte VF_sincosrpi3 gebraucht werden. VF_sincosrpi2 und VF_sincosrpi3 funktionieren auch mit Werten von q, für die sie nicht optimiert sind. Es wird allerdings Speicherplatz für die dann nutzlosen Tabellen vergeudet.
VF_sincosrpi3 bietet einen bequemen Weg, mit Grad-Einheiten anstatt im Bogenmaß zu rechnen. Wenn q gleich 180 ist, entspricht eine Einheit von 1 in P einem Grad.
FehlerbehandlungEs dürften keine Fehler auftreten, solange q != 0.
Rückgabewertimmer FALSE(0)
QuerverweisVF_sincos,   sin,   cos

VectorLib Inhaltsverzeichnis  OptiVec Home