clVector::Power Method

Overload List

#SignatureDescription
1TOpenCLMtxVec *Power(double Exponent) const;Raises base object elements to any power.
2TOpenCLMtxVec *Power(const 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, const TCplx &Exponent) const;Raises each of the Base object elements to complex Exponent power.
6TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, const 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 clVector::IntPower is faster, if Exponent is an integer. Real valued power can handle only positive Exponent. clVector::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: clVector::IntPower, clVector::PowerVec
Declared in Dew::Math::clVector · Dew.Math/clMtxExpr.h · Cross-compiler

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

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 clVector::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::clVector · 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 clVector::Complex properties of calling object are adjusted automatically.

See Also: clVector::PowerVec
Declared in Dew::Math::clVector · 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 clVector::Complex properties of calling object are adjusted automatically.

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

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

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

#NameTypeDescription
1aBaseTOpenCLMtxVec *
2Exponentconst TCplx &
Remarks:

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

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

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

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

#NameTypeDescription
1aBaseTOpenCLMtxVec *
2Exponentconst double
Remarks:

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

Declared in Dew::Math::clVector · 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 clVector::Complex property of calling object are adjusted automatically. An exception is raised if Base and Exponent sizes do not match.

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