TOpenCLVector.Difference Method

Overload List

#SignatureDescription
1function Difference(const Vec: TOpenCLMtxVec; Lag: Integer): TOpenCLVector;The difference between two succesive vector elements.
2function Difference(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;Difference.

Overload 1: function Difference(const Vec: TOpenCLMtxVec; Lag: Integer): TOpenCLVector;

The difference between two succesive vector elements.

#NameTypeDescription
1VecTOpenCLMtxVec
2LagInteger

Returns: TOpenCLVector

Remarks:

Store the results in the calling vector. The TOpenCLBase.Length of the calling vector is set to one less the length of Vec and TOpenCLBase.Complex property is set to Vec.Complex. The following formula is used to calculate the difference:

The Length of calling vector is automatically decremented by one.

Overload 2: function Difference(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;

Difference.

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

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

Remarks:

Calculate the difference for Vec elements [VecIndex]..[VecIndex+Len-1] and store the results in the calling object elements [Index]..[Index+Len-1]. Size and TOpenCLBase.Complex properties of the calling vector must be set explicitly. The following formula is used to calculate the difference:

Δ[k]=Vec[k+1]Vec[k],0k<Vec.Length1\Delta [k] = \text{Vec}[k+1] - \text{Vec}[k], \quad 0\leq k < \text{Vec.Length}-1

An exception is raised if array borders are overrun or underrun.