TOpenCLVector.CplxToReal Method

Overload List

#SignatureDescription
1void CplxToReal(TOpenCLMtxVec ReVec, TOpenCLMtxVec ImVec)Split complex calling object in real and imaginary part.
2void CplxToReal(TOpenCLMtxVec ReVec, TOpenCLMtxVec ImVec, Int32 ReIndex, Int32 ImIndex, Int32 Index, Int32 Len)Split calling object elements [Index]..[Index+Len-1] into real and imaginary components.

Overload 1: void CplxToReal(TOpenCLMtxVec ReVec, TOpenCLMtxVec ImVec)

Split complex calling object in real and imaginary part.

#NameTypeDescription
1ReVecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2ImVecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix

Result: stored in self (calling object)

Remarks:

Split calling object into real and imaginary components. Store all real components in ReVec and all imaginary components in ImVec. Size and Dew.Math.TOpenCLBase.Complex properties of ReVec and ImVec are set implicitly to match with the calling vector. An execption is raised if calling object is not complex.

Examples
clVector a;
clVector b;
clVector c;
a.CopyFromArray(TSingleArray.Create(1,-2,3,4));
a.CplxToReal(b,c);

Overload 2: void CplxToReal(TOpenCLMtxVec ReVec, TOpenCLMtxVec ImVec, Int32 ReIndex, Int32 ImIndex, Int32 Index, Int32 Len)

Split calling object elements [Index]..[Index+Len-1] into real and imaginary components.

#NameTypeDescription
1ReVecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2ImVecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
3ReIndexInt32
4ImIndexInt32
5IndexInt32start index
6LenInt32element count

Result: stored in self (calling object)

Remarks:

Store real components in ReVec elements [ReIndex]..[ReIndex+Len-1] and imaginary components in ImVec elements [ImIndex]..[ImIndex+Len-1]. Size and Dew.Math.TOpenCLBase.Complex properties must be set explicitly. An exception is raised if array borders are overrun or underrun.