TOpenCLMatrix.ConjMul Method

Overload List

#SignatureDescription
1function ConjMul(const Vec: TOpenCLMtxVec): TOpenCLMtxVec;Conjugate and multiply.
└ indexed: function ConjMul(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;
2function 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.

#NameTypeDescription
1VecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix

Result: stored in self (calling object), returns self for chaining

Remarks:

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 TOpenCLBase.Complex properties of the calling object are set implicitly to match Vec.

Examples
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].

#NameTypeDescription
1VecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2VecIndexInteger
3IndexIntegerstart index
4LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and TOpenCLBase.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.

#NameTypeDescription
1Vec1TOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2Vec2TOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix

Result: stored in self (calling object), returns self for chaining

Remarks:

The results are stored in the calling object. Size and TOpenCLBase.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].

#NameTypeDescription
1Vec1TOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2Vec2TOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
3Vec1IndexInteger
4Vec2IndexInteger
5IndexIntegerstart index
6LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and TOpenCLBase.Complex properties of the calling vector must be set explicitly. An exception is raised if array borders are overrun.