Vector.Floor Method

Overload List

#SignatureDescription
1function Floor: TMtxVec;Rounds towards negative infinity.
└ indexed: function Floor(Index: Integer; Len: Integer): TMtxVec;
2function Floor(const Src: TMtxVec): TMtxVec;Rounds all Src object elements towards negative infinity.
└ indexed: function Floor(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec;

Overload 1: function Floor: TMtxVec;

Rounds towards negative infinity.

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

Remarks:

Rounds all calling object elements towards negative infinity in-place.

Floor(-2.8) = -3
Floor(2.8) = 2
Floor(-1.0) = -1
Examples
var
    a, expected: Vector;
begin
    a := [1.2, 2.7, -0.5, 3.9];
    a.Floor;
    expected := [1.0, 2.0, -1.0, 3.0];
    if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
        raise Exception.Create('Vector.Floor: mismatch');
end;

Indexed: function Floor(Index: Integer; Len: Integer): TMtxVec;

Rounds calling object elements [Index]..[Index+Len-1] towards negative infinity 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 Floor(const Src: TMtxVec): TMtxVec;

Rounds all Src object elements towards negative infinity.

#NameTypeDescription
1SrcTMtxVec

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

Remarks:

Stores the result in the calling object. Size and Vector.Complex properties of the calling object are adjusted automatically.

Examples
var
    a, x, expected: Vector;
begin
    x := [1.2, 2.7, -0.5, 3.9];
    a.Floor(x);
    expected := [1.0, 2.0, -1.0, 3.0];
    if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
        raise Exception.Create('Vector.Floor: mismatch');
end;

Indexed: function Floor(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec;

Rounds Src object elements [SrcIndex]..[SrcIndex+Len-1] towards negative infinity-

#NameTypeDescription
1SrcTMtxVec
2SrcIndexIntegersource start index
3IndexIntegerstart index
4LenIntegerelement count

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

Remarks:

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