clMatrix.TruncAndFrac Method

Overload List

#SignatureDescription
1procedure TruncAndFrac(TruncDst: TOpenCLMtxVec; FracDst: TOpenCLMtxVec);Rounds a real number towards zero and returns the fractional part.
2procedure TruncAndFrac(TruncDst: TOpenCLMtxVec; FracDst: TOpenCLMtxVec; TruncIdx: Integer; FracIdx: Integer; Index: Integer; Len: Integer);Truncate calling object elements [Index]..[Index+Len-1] and store the results to TruncDst object elements [TruncIdx]..[TruncIdx+Len-1].

Overload 1: procedure TruncAndFrac(TruncDst: TOpenCLMtxVec; FracDst: TOpenCLMtxVec);

Rounds a real number towards zero and returns the fractional part.

#NameTypeDescription
1TruncDstTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2FracDstTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix

Result: stored in self (calling object)

Remarks:

Rounds all calling object elements towards zero to an integer and stores the result in the TruncDst object as floating point numbers. The fractional part is stored in the FracDst.

See Also: clMatrix.Frac, clMatrix.Round

Overload 2: procedure TruncAndFrac(TruncDst: TOpenCLMtxVec; FracDst: TOpenCLMtxVec; TruncIdx: Integer; FracIdx: Integer; Index: Integer; Len: Integer);

Truncate calling object elements [Index]..[Index+Len-1] and store the results to TruncDst object elements [TruncIdx]..[TruncIdx+Len-1].

#NameTypeDescription
1TruncDstTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2FracDstTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
3TruncIdxInteger
4FracIdxInteger
5IndexIntegerstart index
6LenIntegerelement count

Result: stored in self (calling object)

Remarks:

The fractional parts are saved in FracDst elements [FracIdx]..[FracIdx+Len-1]. Size and clMatrix.Complex property of calling object must be set explicitly to match those of Src object. An exception is raised if array borders are overrun/underrun.