TOpenCLMatrix.Expj Method

Overload List

#SignatureDescription
1function Expj: TOpenCLMtxVec;A complex exponential e^(j*Omega)).
2function Expj(const Omega: TOpenCLMtxVec): TOpenCLMtxVec;Calculate the e^(j*Omega), a complex exponential.
3function Expj(const Omega: TOpenCLMtxVec; OmegaIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;Calculate the complex exponential for Omega elements [OmegaIndex]..[OmegaIndex+Len-1].

Overload 1: function Expj: TOpenCLMtxVec;

A complex exponential e^(j*Omega)).

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

Remarks:

Calculate the calling object complex exponential in-place. An exception is raised if calling object is complex. If object is complex, you should use the TOpenCLMtxVec.Exp method instead.

Examples
var a: clMatrix;
begin
    a.CopyFromArray(2,2,TSingleArray.Create(1,2,3,4));
    a.Expj;   // a = [e^i, e^2i, e^3i, e^4i]
end;

Overload 2: function Expj(const Omega: TOpenCLMtxVec): TOpenCLMtxVec;

Calculate the e^(j*Omega), a complex exponential.

#NameTypeDescription
1OmegaTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix

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

Remarks:

Omega must be a real object. If omega is complex, then use the TOpenCLMtxVec.Exp method.

Overload 3: function Expj(const Omega: TOpenCLMtxVec; OmegaIndex: Integer; Index: Integer; Len: Integer): TOpenCLMtxVec;

Calculate the complex exponential for Omega elements [OmegaIndex]..[OmegaIndex+Len-1].

#NameTypeDescription
1OmegaTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2OmegaIndexInteger
3IndexIntegerstart index
4LenIntegerelement count

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

Remarks:

Store the results in 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 or underrun.