Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TOpenCLMtxVec *Power(double Exponent) const; | Raises base object elements to any power. |
| 2 | TOpenCLMtxVec *Power(TCplx Exponent) const; | Raises all calling vector elements to complex power Exponent in-place. |
| 3 | TOpenCLMtxVec *Power(const double aBase, TOpenCLMtxVec *Exponent) const; | Raises base elements to exponent power. |
| 4 | TOpenCLMtxVec *Power(const TCplx &aBase, TOpenCLMtxVec *Exponent) const; | Raises Base complex value to Exponent object values powers. |
| 5 | TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, TCplx Exponent) const; | Raises each of the Base object elements to complex Exponent power. |
| 6 | TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, double Exponent) const; | Raises each of the Base object elements to real Exponent power. |
| 7 | TOpenCLMtxVec *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.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Exponent | double |
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.
Overload 2: TOpenCLMtxVec *Power(TCplx Exponent) const;
Raises all calling vector elements to complex power Exponent in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Exponent | TCplx |
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.
Overload 3: TOpenCLMtxVec *Power(const double aBase, TOpenCLMtxVec *Exponent) const;
Raises base elements to exponent power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | aBase | const double | |
| 2 | Exponent | TOpenCLMtxVec * |
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.
Overload 4: TOpenCLMtxVec *Power(const TCplx &aBase, TOpenCLMtxVec *Exponent) const;
Raises Base complex value to Exponent object values powers.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | aBase | const TCplx & | |
| 2 | Exponent | TOpenCLMtxVec * |
Store the results to calling object values. Size and clMatrix::Complex properties of calling object are adjusted automatically.
Overload 5: TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, TCplx Exponent) const;
Raises each of the Base object elements to complex Exponent power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | aBase | TOpenCLMtxVec * | |
| 2 | Exponent | TCplx |
Size and clMatrix::Complex properties of calling object are adjusted automatically.
Overload 6: TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, double Exponent) const;
Raises each of the Base object elements to real Exponent power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | aBase | TOpenCLMtxVec * | |
| 2 | Exponent | double |
Size and clMatrix::Complex properties of calling object are adjusted automatically.
Overload 7: TOpenCLMtxVec *Power(TOpenCLMtxVec *aBase, TOpenCLMtxVec *Exponent) const;
Raises each of Base object elements to corresponding power, stored in Exponenet elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | aBase | TOpenCLMtxVec * | |
| 2 | Exponent | TOpenCLMtxVec * |
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.