clVector.Mag Method

Overload List

#SignatureDescription
1function Mag: TOpenCLMtxVec;Magnitude.
└ indexed: function Mag(Index: Integer; Len: Integer): TOpenCLMtxVec;
2function Mag(const X: TOpenCLMtxVec): TOpenCLMtxVec;Calculate the magnitude for all X elements.
└ indexed: function Mag(const X: TOpenCLMtxVec; XIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;

Overload 1: function Mag: TOpenCLMtxVec;

Magnitude.

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

Remarks:

Calculate the magnitude for all calling object elements in-place. This method has the same function as the clVector.Abs method.

Examples
var a: clVector;
begin
    a.CopyFromArray(TSingleArray.Create(1,-2,3,4)); // a = [1,-2, 3,4]
    a.Mag;      // a = [1, 2, 3,4]
end;
See Also: clVector.Abs, clVector.PhaseSpectrum

Indexed: function Mag(Index: Integer; Len: Integer): TOpenCLMtxVec;

Calculate the magnitude for calling object elements [Index]..[Index+Len-1] in-place.

#NameTypeDescription
1IndexIntegerstart index
2LenIntegerelement count

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

Remarks:

An exception is raised if array borders are overrun.

Overload 2: function Mag(const X: TOpenCLMtxVec): TOpenCLMtxVec;

Calculate the magnitude for all X elements.

#NameTypeDescription
1XTOpenCLMtxVec

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

Remarks:

Store the results in the calling object elements. Size and clVector.Complex properties of the calling vector are set implicitly to match Vec vector.

Indexed: function Mag(const X: TOpenCLMtxVec; XIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;

Calculate the magnitude for X elements [XIndex]..[XIndex+Len-1].

#NameTypeDescription
1XTOpenCLMtxVec
2XIndexIntegerX start index
3IndexIntegerstart index
4LenIntegerelement count

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

Remarks:

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