Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function Trunc: TMtxVec; | Rounds a real number towards zero. |
| └ indexed: function Trunc(Index: Integer; Len: Integer): TMtxVec; | ||
| 2 | function Trunc(const Src: TMtxVec): TMtxVec; | Truncate all Src object elements. |
| └ indexed: function Trunc(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 3 | function Trunc(var Dst: TIntegerArray): TMtxVec; | Truncate all calling object elements. |
Overload 1: function Trunc: TMtxVec;
Rounds a real number towards zero.
Result: stored in self (calling object), returns self for chaining
Rounds all calling object elements towards zero to an integer and stores the result in the calling object again as floating point numbers.
var
a, expected: Matrix;
begin
a := [[1.2, 2.7], [-0.5, 3.9]];
a.Trunc;
expected := [[1.0, 2.0], [-0.0, 3.0]];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Matrix.Trunc: mismatch');
end;
Indexed: function Trunc(Index: Integer; Len: Integer): TMtxVec;
Truncate 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 Trunc(const Src: TMtxVec): TMtxVec;
Truncate 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.Trunc;
expected := [[1.0, 2.0], [-0.0, 3.0]];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Matrix.Trunc: mismatch');
end;
Indexed: function Trunc(const Src: TMtxVec; SrcIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
Truncate 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 elemenents [Index]..[Index+Len-1]. Size and TMtxVec.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.
Overload 3: function Trunc(var Dst: TIntegerArray): TMtxVec;
Truncate all calling object elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Dst | TIntegerArray |
Result: stored in self (calling object), returns self for chaining
Store the result in the Dst integer array. Length of the array is automatically adjusted. If the calling object is Complex, the length of the Dst array is equal to 2*TMtxVecBase.Length.
var
a, expected: Matrix;
begin
a := [[1.2, 2.7], [-0.5, 3.9]];
a.Trunc;
expected := [[1.0, 2.0], [-0.0, 3.0]];
if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
raise Exception.Create('Matrix.Trunc: mismatch');
end;