Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function Round: TMtxVec; | Elements rounded to the nearest whole number. |
| └ indexed: function Round(Index: Integer; Len: Integer): TMtxVec; | ||
| 2 | function Round(const Src: TMtxVec): TMtxVec; | Round all Src object elements. |
| └ indexed: function Round(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 3 | function Round(var Dst: TIntegerArray): TMtxVec; | Rounds the calling object elements to 4 byte integers. |
Overload 1: function Round: TMtxVec;
Elements rounded to the nearest whole number.
Result: stored in self (calling object), returns self for chaining
Rounds all calling object elements to the nearest whole number. The result can be stored to an array of integers or as floating point number.
var
a, expected: Matrix;
begin
a := [[1.2, 2.7], [-0.5, 3.9]];
a.Round;
expected := [[1.0, 3.0], [-1.0, 4.0]];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Matrix.Round: mismatch');
end;
Indexed: function Round(Index: Integer; Len: Integer): TMtxVec;
Round calling object elements [Index]..[Index+Len-1] in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | Integer | start index |
| 2 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if array borders are overrun/underrun.
Overload 2: function Round(const Src: TMtxVec): TMtxVec;
Round all Src object elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVec | source TVec or TMtx |
Result: stored in self (calling object), returns self for chaining
Store the results in calling object elements. Size and TMtxVec.Complex property of calling object are adjusted automatically.
var
a, expected: Matrix;
begin
a := [[1.2, 2.7], [-0.5, 3.9]];
a.Round;
expected := [[1.0, 3.0], [-1.0, 4.0]];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Matrix.Round: mismatch');
end;
Indexed: function Round(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
Round Src object elements [SrcIndex]..[SrcIndex+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVec | source TVec or TMtx |
| 2 | SrcIndex | Integer | source start index |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Store the results to calling object elements [Index]..[Index+Len-1]. Size and TMtxVec.Complex property of the calling object must be set explicitly. An exception is raised if array borders are overrun/underrun.
Overload 3: function Round(var Dst: TIntegerArray): TMtxVec;
Rounds the calling object elements to 4 byte integers.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Dst | TIntegerArray |
Result: stored in self (calling object), returns self for chaining
Stores the result in the Dst array. The size of the Dst array is set automatically. If the complex property is True then the length of the array will be equal to Self.Length*2.
var
a, expected: Matrix;
begin
a := [[1.2, 2.7], [-0.5, 3.9]];
a.Round;
expected := [[1.0, 3.0], [-1.0, 4.0]];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Matrix.Round: mismatch');
end;