| VFux_sqrt | VDux_sqrt | VEux_sqrt |
| VCFx_sqrt | VCDx_sqrt | VCEx_sqrt |
|
|
| 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/Delphi | uses VFmath;
function VF_sqrt( Y, X:fVector; size:UIntSize ): IntBool;
function VFx_sqrt( Y, X:fVector; size:UIntSize; A, B, C:Single ): IntBool; |
|
| Beschreibung | normale 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, daß weder das Produkt A*Xi noch die Summe A*Xi+B überlaufen. |
|
| Fehlerbehandlung | DOMAIN-Fehler entstehen in den reellen Versionen für negative Argumente und führen zum Ergebnis NAN ("not-a-number", IEEE-Nicht-Zahl). |
|
| Rückgabewert | FALSE (0), wenn fehlerfrei, andernfalls TRUE (!= 0) |
|
|