Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function ConjMul(const Vec: TOpenCLMtxVec): TOpenCLMtxVec; | Conjugate and multiply. |
| └ indexed: function ConjMul(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec; | ||
| 2 | function ConjMul(const Vec1: TOpenCLMtxVec; const Vec2: TOpenCLMtxVec): TOpenCLMtxVec; | Conjugate each of Vec2 elements and multiply them with corresponding elements in Vec1. |
| └ indexed: function ConjMul(const Vec1: TOpenCLMtxVec; const Vec2: TOpenCLMtxVec; Vec1Index: Integer; Vec2Index: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec; |
Overload 1: function ConjMul(const Vec: TOpenCLMtxVec): TOpenCLMtxVec;
Conjugate and multiply.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TOpenCLMtxVec |
Result: stored in self (calling object), returns self for chaining
Conjugate each of Vec elements and multiply them with corresponding elements in the calling object. The results are stored in the calling object. Size and clMatrix.Complex properties of the calling object are set implicitly to match Vec.
var a,b,c: clMatrix;
begin
a.CopyCplxFromArray(2,2, TSingleArray.Create(1,2,3,4));
b.CopyCplxFromArray(2,2, TSingleArray.Create(4,3,2,1));
c.ConjMul(a,b);
end;
Indexed: function ConjMul(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;
Conjugate Vec elements Vec[VecIndex]..Vec[VecIndex+Len-1] and multiply them with corresponding calling object elements [Index]..[Index+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TOpenCLMtxVec | |
| 2 | VecIndex | Integer | |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and clMatrix.Complex properties are not set.
An exception is raised if array borders are overrun or underrun.
Overload 2: function ConjMul(const Vec1: TOpenCLMtxVec; const Vec2: TOpenCLMtxVec): TOpenCLMtxVec;
Conjugate each of Vec2 elements and multiply them with corresponding elements in Vec1.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec1 | TOpenCLMtxVec | |
| 2 | Vec2 | TOpenCLMtxVec |
Result: stored in self (calling object), returns self for chaining
The results are stored in the calling object. Size and clMatrix.Complex properties of the calling object are set implicitly to match Vec1 and Vec2 objects.
Indexed: function ConjMul(const Vec1: TOpenCLMtxVec; const Vec2: TOpenCLMtxVec; Vec1Index: Integer; Vec2Index: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;
Conjugate Vec2 elements [Vec2Index]..[Vec2Index+Len-1] and multiply them with corresponding Vec1 elements [Vec1Index]..[Vec1Index+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec1 | TOpenCLMtxVec | |
| 2 | Vec2 | TOpenCLMtxVec | |
| 3 | Vec1Index | Integer | |
| 4 | Vec2Index | Integer | |
| 5 | Index | Integer | start index |
| 6 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and clMatrix.Complex properties of the calling vector must be set explicitly. An exception is raised if array borders are overrun.