VF_powexpVD_powexpVE_powexp
VFx_powexpVDx_powexpVEx_powexp
Funktionreelle Potenz, multipliziert mit Exponentialfunktion
Syntax C/C++#include <VFmath.h>
int VF_powexp( fVector Y, fVector X, ui size, float Expo );
int VFx_powexp( fVector Y, fVector X, ui size, float Expo, float A, float B, float C );
C++ VecObj#include <OptiVec.h>
int vector<T>::powexp( const vector<T>& X, const T& Expo );
int vector<T>::x_powexp( const vector<T>& X, const T& Expo, const T& A, const T& B, const T& C );
Pascal/Delphiuses VFmath;
function VF_powexp( Y, X:fVector; size:UInt; Expo:Single ): IntBool;
function VFx_powexp( Y, X:fVector; size:UInt; Expo, A, B, C:Single ): IntBool;
Beschreibungnormale Versionen: Yi = XiExpo * exp(Xi)
erweiterte Versionen: Yi = C * (XiExpo) * exp(A*Xi+B)
Man beachte, daß die erweiterten Versionen (A*Xi+B) nur als Argument der Exponentialfunktion verwenden, die Potenzfunktion aber für (Xi) berechnen. Die Implementation dieser Funktion garantiert den korrekten Ausgleich eventueller gleichzeitiger Über- und Unterläufe in den beiden Faktoren (d.h. für große Xi, wenn entweder Expo oder A*Xi negativ sind, so daß entweder die Potenzfunktion oder die Exponentialfunktion sehr klein wird, während die jeweils andere sehr groß wird).
Anders als bei VF_pow werden negative X-Werte in der Potenzfunktion stets als DOMAIN-Fehler behandelt; es findet also keine Prüfung statt, ob der Exponent vielleicht ganzzahlig ist und das Ergebnis daher doch berechenbar wäre.
FehlerbehandlungDOMAIN-Fehler entstehen für negative Xi. Das vorgeschlagene Ergebnis ist NAN ("not-a-number"). SING-Fehler entstehen durch negative Potenzen von 0. Das vorgeschlagene Resultat ist hier ±HUGE_VAL, ebenso wie für OVERFLOW-Fehler.
RückgabewertFALSE (0), wenn fehlerfrei, andernfalls TRUE (!= 0)
QuerverweisVF_pow,   VF_poly,   VF_exp pow,  exp

VectorLib Inhaltsverzeichnis  OptiVec Home