clVector.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
1VecTOpenCLMtxVec

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

Examples
var a,b,c: clVector;
begin
    a.CopyFromArray(TSingleArray.Create(1,2,3,4));
    b.CopyFromArray(TSingleArray.Create(4,3,2,1));
    c.ConjMul(a,b);
end;
See Also: clVector.Conj, clVector.Mul

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
1VecTOpenCLMtxVec
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 clVector.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
1Vec1TOpenCLMtxVec
2Vec2TOpenCLMtxVec

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

Remarks:

The results are stored in the calling object. Size and clVector.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
1Vec1TOpenCLMtxVec
2Vec2TOpenCLMtxVec
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 clVector.Complex properties of the calling vector must be set explicitly. An exception is raised if array borders are overrun.