clMatrix::Power Method

Overload List

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

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

Raises base object elements to any power.

#NameTypeDescription
1Exponentdouble
Remarks:

Raises Base calling object elements to any power. The clMatrix::IntPower is faster, if Exponent is an integer. Real valued power can handle only positive Exponent. clMatrix::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: clMatrix::IntPower, clMatrix::PowerVec
Declared in Dew::Math::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 2: TOpenCLMtxVec *Power(TCplx Exponent) const;

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

#NameTypeDescription
1ExponentTCplx
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 clMatrix::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::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 3: TOpenCLMtxVec *Power(const double aBase, TOpenCLMtxVec *Exponent) const;

Raises base elements to exponent power.

#NameTypeDescription
1aBaseconst double
2ExponentTOpenCLMtxVec *
Remarks:

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

See Also: clMatrix::PowerVec
Declared in Dew::Math::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 4: TOpenCLMtxVec *Power(const TCplx &aBase, TOpenCLMtxVec *Exponent) const;

Raises Base complex value to Exponent object values powers.

#NameTypeDescription
1aBaseconst TCplx &
2ExponentTOpenCLMtxVec *
Remarks:

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

Declared in Dew::Math::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 5: TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, TCplx Exponent) const;

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

#NameTypeDescription
1aBaseTOpenCLMtxVec *
2ExponentTCplx
Remarks:

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

Declared in Dew::Math::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler

Overload 6: TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, double Exponent) const;

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

#NameTypeDescription
1aBaseTOpenCLMtxVec *
2Exponentdouble
Remarks:

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

Declared in Dew::Math::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler

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

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

#NameTypeDescription
1aBaseTOpenCLMtxVec *
2ExponentTOpenCLMtxVec *
Remarks:

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

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

Declared in Dew::Math::clMatrix · Dew.Math/clMtxExpr.h · Cross-compiler