TOpenCLVector::Power Method

Overload List

#SignatureDescription
1TOpenCLBase *Power(const double Base, TOpenCLBase *Exponent);
2TOpenCLBase *Power(const TCplx &Base, TOpenCLBase *Exponent);
3TOpenCLBase *Power(TOpenCLBase *Base, const double Exponent);
4TOpenCLBase *Power(TOpenCLBase *Base, const TCplx &Exponent);
5TOpenCLMtxVec *Power(const double Exponent);Raises base object elements to any power.
6TOpenCLMtxVec *Power(const TCplx &Exponent);Raises all calling vector elements to complex power Exponent in-place.
7TOpenCLMtxVec *Power(const double Base, TOpenCLMtxVec *Exponent);Raises base elements to exponent power.
8TOpenCLMtxVec *Power(const TCplx &Base, TOpenCLMtxVec *Exponent);Raises Base complex value to Exponent object values powers.
9TOpenCLMtxVec *Power(TOpenCLMtxVec *Base, const TCplx &Exponent);Raises each of the Base object elements to complex Exponent power.
10TOpenCLMtxVec *Power(TOpenCLMtxVec *Base, const double Exponent);Raises each of the Base object elements to real Exponent power.
11TOpenCLMtxVec *Power(TOpenCLMtxVec *Base, TOpenCLMtxVec *Exponent);Raises each of Base object elements to corresponding power, stored in Exponenet elements.

Overload 1: TOpenCLBase *Power(const double Base, TOpenCLBase *Exponent);

#NameTypeDescription
1Baseconst double
2ExponentTOpenCLBase *
Declared in Dew::Math::TOpenCLBase · Dew.Math/clMtxVec.h · Cross-compiler

Overload 2: TOpenCLBase *Power(const TCplx &Base, TOpenCLBase *Exponent);

#NameTypeDescription
1Baseconst TCplx &
2ExponentTOpenCLBase *
Declared in Dew::Math::TOpenCLBase · Dew.Math/clMtxVec.h · Cross-compiler

Overload 3: TOpenCLBase *Power(TOpenCLBase *Base, const double Exponent);

#NameTypeDescription
1BaseTOpenCLBase *
2Exponentconst double
Declared in Dew::Math::TOpenCLBase · Dew.Math/clMtxVec.h · Cross-compiler

Overload 4: TOpenCLBase *Power(TOpenCLBase *Base, const TCplx &Exponent);

#NameTypeDescription
1BaseTOpenCLBase *
2Exponentconst TCplx &
Declared in Dew::Math::TOpenCLBase · Dew.Math/clMtxVec.h · Cross-compiler

Overload 5: TOpenCLMtxVec *Power(const double Exponent);

Raises base object elements to any power.

#NameTypeDescription
1Exponentconst double
Remarks:

Raises Base calling object elements to any power. The TOpenCLVector::IntPower is faster, if Exponent is an integer. Real valued power can handle only positive Exponent. TOpenCLVector::IntPower can handle negative exponent also. To compute a power to the negative exponent in general case or when the base is negative, use the complex version of the function.

See Also: TOpenCLVector::IntPower, TOpenCLVector::PowerVec
Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler

Overload 6: TOpenCLMtxVec *Power(const TCplx &Exponent);

Raises all calling vector elements to complex power Exponent in-place.

#NameTypeDescription
1Exponentconst TCplx &
Remarks:

If the calling vector is real and has negative elements, the result will be NAN at those entries. To obtain a valid result in this case, extend the calling vector to complex with TOpenCLVector::ExtendToComplex method. In all real/complex combinations, the Power method will not automatically assume that a number is complex to speed up the computation.

Alternatively the user can of course always convert the real numbers to complex before passing them to the Power routine.

Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler

Overload 7: TOpenCLMtxVec *Power(const double Base, TOpenCLMtxVec *Exponent);

Raises base elements to exponent power.

#NameTypeDescription
1Baseconst double
2ExponentTOpenCLMtxVec *
Remarks:

Raises Base value to Exponent object values powers and store the results to calling object values. Size and TOpenCLBase::Complex properties of calling object are adjusted automatically.

See Also: TOpenCLVector::PowerVec
Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler

Overload 8: TOpenCLMtxVec *Power(const TCplx &Base, TOpenCLMtxVec *Exponent);

Raises Base complex value to Exponent object values powers.

#NameTypeDescription
1Baseconst TCplx &
2ExponentTOpenCLMtxVec *
Remarks:

Store the results to calling object values. Size and TOpenCLBase::Complex properties of calling object are adjusted automatically.

Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler

Overload 9: TOpenCLMtxVec *Power(TOpenCLMtxVec *Base, const TCplx &Exponent);

Raises each of the Base object elements to complex Exponent power.

#NameTypeDescription
1BaseTOpenCLMtxVec *
2Exponentconst TCplx &
Remarks:

Size and TOpenCLBase::Complex properties of calling object are adjusted automatically.

Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler

Overload 10: TOpenCLMtxVec *Power(TOpenCLMtxVec *Base, const double Exponent);

Raises each of the Base object elements to real Exponent power.

#NameTypeDescription
1BaseTOpenCLMtxVec *
2Exponentconst double
Remarks:

Size and TOpenCLBase::Complex properties of calling object are adjusted automatically.

Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler

Overload 11: TOpenCLMtxVec *Power(TOpenCLMtxVec *Base, TOpenCLMtxVec *Exponent);

Raises each of Base object elements to corresponding power, stored in Exponenet elements.

#NameTypeDescription
1BaseTOpenCLMtxVec *
2ExponentTOpenCLMtxVec *
Remarks:

Power[i] = Base[i]^Exponent[i]

Size and TOpenCLBase::Complex property of calling object are adjusted automatically. An exception is raised if Base and Exponent sizes do not match.

Declared in Dew::Math::TOpenCLMtxVec · Dew.Math/clMtxVec.h · Cross-compiler