VF_powVD_powVE_pow
VCF_powVCD_powVCE_pow
VFx_powVDx_powVEx_pow
VCFx_powVCDx_powVCEx_pow
VCF_powReExpoVCD_powReExpoVCE_powReExpo
VCFx_powReExpoVCDx_powReExpoVCEx_powReExpo
VPF_powReExpoVPD_powReExpoVPE_powReExpo
FunctionRaise each element of a vector to a specified power
Syntax C/C++#include <VFmath.h>
int VF_pow( fVector Y, fVector X, ui size, float Expo );
int VFx_pow( fVector Y, fVector X, ui size, float Expo, float A, float B, float C );
int VCF_pow( cfVector Y, cfVector X, ui size, fComplex Expo );
int VCFx_pow( cfVector Y, cfVector X, ui size, fComplex Expo, fComplex A, fComplex B, fComplex C );
int VCF_powReExpo( cfVector Y, cfVector X, ui size, float Expo );
int VCFx_powReExpo( cfVector Y, cfVector X, ui size, float Expo, fComplex A, fComplex B, fComplex C );
C++ VecObj#include <OptiVec.h>
int vector<T>::pow( const vector<T>& X, const T& Expo );
int vector<T>::x_pow( const vector<T>& X, const T& Expo, const T& A, const T& B, const T& C );
int vector<complex<T>>::pow( const vector<complex<T>>& X, complex<T> Expo );
int vector<complex<T>>::x_pow( const vector<complex<T>>& X, complex<T> Expo, complex<T> A, complex<T> B, complex<T> C );
int vector<complex<T>>::powReExpo( const vector<complex<T>>& X, const T& Expo );
int vector<complex<T>>::x_powReExpo( const vector<complex<T>>& X, const T& Expo, complex<T> A, complex<T> B, complex<T> C );
Pascal/Delphiuses VFmath;
function VF_pow( Y, X:fVector; size:UInt; Expo:Single ): IntBool;
function VFx_pow( Y, X:fVector; size:UInt; Expo, A, B, C:Single ): IntBool;
function VCF_pow( Y, X:cfVector; size:UInt; Expo:fComplex ): IntBool;
function VCF_powReExpo( Y, X:cfVector; size:UInt; Expo:Single ): IntBool;
function VCFx_powReExpo( Y, X:cfVector; size:UInt; Expo:Single; A, B, C:fComplex ): IntBool;
Descriptionnormal versions: Yi = Xi Expo
expanded versions: Yi = C * ((A*Xi+B) Expo)
If Expo is a moderately small integer number, the functions of this family pass the job to the appropriate routine of the VF_ipow family. More efficiently, the user could do just that himself.
The complex version exists in two variants: one for complex exponents, the other for complex numbers raised to a real exponent.
Error handlingDOMAIN errors occur, if negative numbers are raised to fractional powers; the default result is NAN ("not-a-number"). SING errors occur, if zero is raised to a negative power; the default result is ±HUGE_VAL, which is true for OVERFLOW errors as well.
Return valueFALSE (0), if no error occurred, otherwise TRUE (non-zero)
See alsoVF_ipow,   VF_poly,   VF_pow2,   VF_exp,   VF_powexp,   pow

VectorLib Table of Contents  OptiVec home