VF_ipowVD_ipowVE_ipow
VFx_ipowVDx_ipowVEx_ipow
VFu_ipowVDu_ipowVEu_ipow
VFux_ipowVDux_ipowVEux_ipow
VCF_ipowVCD_ipowVCE_ipow
VCFx_ipowVCDx_ipowVCEx_ipow
VCFu_ipowVCDu_ipowVCEu_ipow
VCFux_ipowVCDux_ipowVCEux_ipow
VPF_ipowVPD_ipowVPE_ipow
VPFu_ipowVPDu_ipowVPEu_ipow
Funktionganzzahlige Potenzen
Syntax C/C++#include <VFmath.h>
int VF_ipow( fVector Y, fVector X, ui size, int Expo );
int VFx_ipow( fVector Y, fVector X, ui size, int Expo, float A, float B, float C );
int VFu_ipow( fVector Y, fVector X, ui size, int Expo );
int VFux_ipow( fVector Y, fVector X, ui size, int Expo, float A, float B, float C );
C++ VecObj#include <OptiVec.h>
int vector<T>::ipow( const vector<T>& X );
int vector<T>::x_ipow( const vector<T>& X, const T& A, const T& B, const T& C );
int vector<T>::u_ipow( const vector<T>& X );
int vector<T>::ux_ipow( const vector<T>& X, const T& A, const T& B, const T& C );
Pascal/Delphiuses VFmath;
function VF_ipow( Y, X:fVector; size:UIntSize; ipow:Integer ): IntBool;
function VFx_ipow( Y, X:fVector; size:UIntSize; ipow:Integer; A, B, C:Single ): IntBool;
function VFu_ipow( Y, X:fVector; size:UIntSize; ipow:Integer ): IntBool;
function VFux_ipow( Y, X:fVector; size:UIntSize; ipow:Integer; A, B, C:Single ): IntBool;
Beschreibungnormale Versionen: Yi = XiExpo
erweiterte Versionen: Yi = C * (A*Xi+B)Expo
Wenn Expo größer als eine gewisse Schwelle ist, leitet VF_ipow die Aufgabe intern zwecks sichererer und schnellerer Bearbeitung an VF_pow weiter.
Die "ungeschützten" Versionen (Präfix VFu_ und VFux_) fangen OVERFLOW-Fehler nicht ab und leiten auch für große Expo keine Aufrufe auf VF_pow um. Durch diese Vereinfachungen sind sie wesentlich schneller, aber auch etwas riskanter und daher nur mit großer Vorsicht anzuwenden.
FehlerbehandlungSING-Fehler entstehen für negative Potenzen von 0. Das Resultat ist ±HUGE_VAL. Dasselbe gilt für OVERFLOW-Fehler.
RückgabewertFALSE (0), wenn fehlerfrei, andernfalls TRUE (!= 0)
QuerverweisVF_pow,   VF_poly,   VF_pow2,   VF_exp,  pow

VectorLib Inhaltsverzeichnis  OptiVec Home