Vector.TruncAndFrac Method

Overload List

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

Overload 1: procedure TruncAndFrac(TruncDst: TMtxVec; FracDst: TDenseMtxVec);

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

#NameTypeDescription
1TruncDstTMtxVecsource TVec or TMtx
2FracDstTDenseMtxVecsource TVec or TMtx

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: Vector.Frac, Vector.Round

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

Truncate calling object elements [Index]..[Index+Len-1].

#NameTypeDescription
1TruncDstTMtxVecsource TVec or TMtx
2FracDstTDenseMtxVecsource TVec or TMtx
3TruncIdxInteger
4FracIdxInteger
5IndexIntegerstart index
6LenIntegerelement count

Result: stored in self (calling object)

Remarks:

Store the results to TruncDst object elements

[TruncIdx]..[TruncIdx+Len-1]. The fractional parts are saved in FracDst elements
[FracIdx]..[FracIdx+Len-1]. Size and Vector.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.