Overload List
| # | Signature | Description |
|---|---|---|
| 1 | procedure CartToPolar(const AmpltVec: TOpenCLMtxVec; const PhaseVec: TOpenCLMtxVec); | Converts elements from cartesian to polar coordinate form. |
| 2 | procedure CartToPolar(const AmpltVec: TOpenCLMtxVec; const PhaseVec: TOpenCLMtxVec; AmpltIndex: Integer; PhaseIndex: Integer; Index: Integer; Len: Integer); | Convert calling object elements [Index] to [Index+Len-1] from cartesian to polar form. |
Overload 1: procedure CartToPolar(const AmpltVec: TOpenCLMtxVec; const PhaseVec: TOpenCLMtxVec);
Converts elements from cartesian to polar coordinate form.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | AmpltVec | TOpenCLMtxVec | source TOpenCLVector or TOpenCLMatrix |
| 2 | PhaseVec | TOpenCLMtxVec | source TOpenCLVector or TOpenCLMatrix |
Result: stored in self (calling object)
Converts all calling object elements from cartesian to polar coordinate form, storing the magnitude (radius) component of corresponding elements in the AmpltVec and the phase (angle) component of corresponding elements in the PhaseVec. If you want to use this method then the calling matrix TOpenCLBase.Complex property must be true. If this is not the case, an exception is raised. Size and TOpenCLBase.Complex properties of AmpltVec and PhaseVec are set automatically.
var A,Amplt,Phase: clMatrix;
begin
A.CopyCplxFromArray(2,2,TSingleArray.Create(1,0, 2,0
2,0 4,1)); // 2x2, complex matrix
A.CartToPolar(Amplt, Phase);
end;
Overload 2: procedure CartToPolar(const AmpltVec: TOpenCLMtxVec; const PhaseVec: TOpenCLMtxVec; AmpltIndex: Integer; PhaseIndex: Integer; Index: Integer; Len: Integer);
Convert calling object elements [Index] to [Index+Len-1] from cartesian to polar form.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | AmpltVec | TOpenCLMtxVec | source TOpenCLVector or TOpenCLMatrix |
| 2 | PhaseVec | TOpenCLMtxVec | source TOpenCLVector or TOpenCLMatrix |
| 3 | AmpltIndex | Integer | |
| 4 | PhaseIndex | Integer | |
| 5 | Index | Integer | start index |
| 6 | Len | Integer | element count |
Result: stored in self (calling object)
Store the results in AmpltVec (radius values) and PhaseVec(phase values). Size and TOpenCLBase.Complex properties of the calling vector must be set explicitly. An exception is raised if array borders are overrun or underrun.