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 and store the results in calling object elements. |
| └ indexed: function Round(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 3 | procedure Round(var Dst: TIntegerArray); | Rounds the calling object elements to 4 byte integers and stores the result in the Dst array. |
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 and store the results in calling object elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVec |
Result: stored in self (calling object), returns self for chaining
Size and Matrix.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 | |
| 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 Matrix.Complex property of the calling object must be set explicitly. An exception is raised if array borders are overrun/underrun.
Overload 3: procedure Round(var Dst: TIntegerArray);
Rounds the calling object elements to 4 byte integers and stores the result in the Dst array.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Dst | TIntegerArray |
Result: stored in self (calling object)
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;