TOpenCLVector.DownSample Method

Overload List

#SignatureDescription
1function DownSample(const Src: TOpenCLMtxVec; Factor: Integer; Phase: Integer): TOpenCLVector;Downsamples vector values.
2function DownSample(const Src: TOpenCLMtxVec; Factor: Integer; SrcIndex: Integer; Index: Integer; Len: Integer; Phase: Integer): TOpenCLMtxVec;Downsamples object values.

Overload 1: function DownSample(const Src: TOpenCLMtxVec; Factor: Integer; Phase: Integer): TOpenCLVector;

Downsamples vector values.

#NameTypeDescription
1SrcTOpenCLMtxVec
2FactorInteger
3PhaseInteger

Returns: TOpenCLVector

Remarks:

The methods copies only every Factor sample from the Src vector to the calling vector. The TOpenCLBase.Length and TOpenCLBase.Complex properties of the calling vector are set implicitly. The phase parameter determines the initial sample offset. Phase must be less than Factor.

Examples
var a,b: TOpenCLVector;
begin
    clMtxVec.CreateIt(a,b);
    try
        b.CopyFromArray(TSingleArray.Create(0,0,0,0,1,2,3,4,5,6));
        a.DownSample(b,2); // a = [0,0,1,3,5]
    finally
        clMtxVec.FreeIt(a,b);
    end;
end;
See Also: TOpenCLVector.UpSample

Overload 2: function DownSample(const Src: TOpenCLMtxVec; Factor: Integer; SrcIndex: Integer; Index: Integer; Len: Integer; Phase: Integer): TOpenCLMtxVec;

Downsamples object values.

#NameTypeDescription
1SrcTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2FactorInteger
3SrcIndexIntegersource start index
4IndexIntegerstart index
5LenIntegerelement count
6PhaseInteger

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

Remarks:

Copy only every Factor sample from Src starting at SrcIndex up to Len to the calling object starting at Index. The phase parameter determines the initial sample offset. Phase must be less then Factor. Size and TOpenCLBase.Complex properties of the calling object are set implicitly. An exception is raised if array borders are overrun/underrun.