VF_sqrtVD_sqrtVE_sqrt
VFu_sqrtVDu_sqrtVEu_sqrt
VCF_sqrtVCD_sqrtVCE_sqrt
VFx_sqrtVDx_sqrtVEx_sqrt
VFux_sqrtVDux_sqrtVEux_sqrt
VCFx_sqrtVCDx_sqrtVCEx_sqrt
VPF_sqrtVPD_sqrtVPE_sqrt
FunktionQuadratwurzel
Syntax C/C++#include <VFmath.h>
int VF_sqrt( fVector Y, fVector X, ui size );
int VFx_sqrt( fVector Y, fVector X, ui size, float A, float B, float C );
C++ VecObj#include <OptiVec.h>
int vector<T>::sqrt( const vector<T>& X );
int vector<T>::x_sqrt( const vector<T>& X, const T& A, const T& B, const T& C );
Pascal/Delphiuses VFmath;
function VF_sqrt( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_sqrt( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
CUDA-Funktion C/C++#include <cudaVFmath.h>
int cudaVF_sqrt( fVector d_Y, fVector d_X, ui size );
int cudaVFx_sqrt( fVector d_Y, fVector d_X, ui size, float A, float B, float C );
int cusdVFx_sqrt( fVector d_Y, fVector d_X, ui size, float *d_A, float *d_B, float *d_C );
int VFcu_sqrt( fVector h_Y, fVector h_X, ui size );
int VFxcu_sqrt( fVector h_Y, fVector h_X, ui size, float A, float B, float C );
CUDA-Funktion Pascal/Delphiuses VFmath;
function cudaVF_sqrt( d_Y, d_X:fVector; size:UIntSize ): IntBool;
function cudaVFx_sqrt( d_Y, d_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
function cusdVFx_sqrt( d_Y, d_X:fVector; size:UIntSize; d_A, d_B, d_C:PSingle ): IntBool;
function VFcu_sqrt( h_Y, h_X:fVector; size:UIntSize ): IntBool;
function VFxcu_sqrt( h_Y, h_X:fVector; size:UIntSize; A, B, C:Single ): IntBool;
Beschreibungnormale Versionen: Yi = sqrt( Xi )
erweiterte Versionen: Yi = C * sqrt( A*Xi+B )

"ungeschützte" Versionen (Präfix VFu_,   VFux_, etc.):
Diese Funktionen führen keinerlei Fehlerbehandlung durch und sind hierdurch (float-Version auf Pentium III oder IV) bis zu 3,5 mal schneller als die Normalversionen, stürzen aber unkontrolliert ab, falls ein negativer Eingabewert angetroffen wird. X-Werte nahe der Unterlauf-Grenze können zu dem Ergebnis 0 führen. Die ungeschützte erweiterte Version (VFux_) verlangt außer der Abwesenheit negativer Zahlen auch, dass weder das Produkt A*Xi noch die Summe A*Xi+B überlaufen.

FehlerbehandlungDOMAIN-Fehler entstehen in den reellen Versionen für negative Argumente und führen zum Ergebnis NAN ("not-a-number", IEEE-Nicht-Zahl).
RückgabewertFALSE (0), wenn fehlerfrei, andernfalls TRUE (!= 0)
QuerverweisVF_square,   VF_pow,   VF_ipow,   VF_poly

VectorLib Inhaltsverzeichnis  OptiVec Home