Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function FixAngle: TOpenCLMtxVec; | Sets angle in [-2PI,2PI]. |
| └ indexed: function FixAngle(Index: Integer; Len: Integer): TOpenCLMtxVec; | ||
| 2 | function FixAngle(const Src: TOpenCLMtxVec): TOpenCLMtxVec; | Sets angle in [-2PI,2PI] for all Src elements. |
| └ indexed: function FixAngle(const Src: TOpenCLMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec; |
Overload 1: function FixAngle: TOpenCLMtxVec;
Sets angle in [-2PI,2PI].
Result: stored in self (calling object), returns self for chaining
Returns: ThetaRad within -2Math387.PI and Math387.PI interval.
Calling this function prior to passing the value to trigonometric functions can significantly improve numerical accuracy.
Sine/cosine appear within many other functions especially complex versions of trigonometric functions. FixAngle method is not used implicitely within TOpenCLMtxVec methods. To achieve maximum performance make sure that the arguments passed to complex trigonometric functions are "small" or scaled down.
Note
The vector must be real.
Indexed: function FixAngle(Index: Integer; Len: Integer): TOpenCLMtxVec;
FixAngle for calling object complex elements [Index]..[Index+Len-1] in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | Integer | start index |
| 2 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if calling object clMatrix.Complex property is True or if array borders are overrun/underrun.
Overload 2: function FixAngle(const Src: TOpenCLMtxVec): TOpenCLMtxVec;
Sets angle in [-2PI,2PI] for all Src elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TOpenCLMtxVec |
Result: stored in self (calling object), returns self for chaining
Stores the results in the calling object. Size and clMatrix.Complex properties of the calling vector are set implicitly to match the Src object.
Indexed: function FixAngle(const Src: TOpenCLMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;
Sets angle in [-2PI,2PI] for Src elements [SrcIndex]..[SrcIndex+Len-1] and store the results in the calling object elements [Index]..[Index+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TOpenCLMtxVec | |
| 2 | SrcIndex | Integer | source start index |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Size and clMatrix.Complex properties of the calling object must be set explicitly. An exception is raised if array borders are overrun.