Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function CumSum: TMtxInt; | Cumulative sum for each of the matrix columns. |
| └ indexed: function CumSum(Index: Integer; Len: Integer): TMtxVecInt; | ||
| 2 | function CumSum(const Mtx: TMtxInt): TMtxInt; | Calculate the cumulative sum for each of the X matrix columns. |
| 3 | function CumSum(const Vec: TMtxVecInt; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt; | Calculate the cumulative sum for Vec elements [VecIndex]..[VecIndex+Len-1]. |
Overload 1: function CumSum: TMtxInt;
Cumulative sum for each of the matrix columns.
Result: stored in self (calling object), returns self for chaining
Calculate the cumulative sum for each of the calling matrix columns in-place. Function performs no overflow checking. It is users responsibility to ensure that the sum does not overflow the range of the used integer storage type.
var Mtx: TMtxInt;
begin
Mtx := TMtxInt.Create;
try
Mtx.Size(3,2,[1,2,
2,5,
3,1]);
Mtx.CumSum;
// Mtx becomes:
// 1, 2
// 3, 7
// 6, 8
finally
Mtx.Free;
end;
end;
Indexed: function CumSum(Index: Integer; Len: Integer): TMtxVecInt;
Cumulative sum.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | Integer | start index |
| 2 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Calculate the cumulative sum for calling object elements [Index]..[Index+Len-1] in-place. An exception is raised if TMtxVecBase.ConditionCheck is true and array borders are overrun.
var
a: TVecInt;
begin
MtxVecInt.CreateIt(out a);
try
a.SetIt(True,[1,2,3,4]);
a.CumSum; // a = [1,3,6,10]
finally
MtxVecInt.FreeIt(ref a);
end;
end;
Overload 2: function CumSum(const Mtx: TMtxInt): TMtxInt;
Calculate the cumulative sum for each of the X matrix columns.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx | TMtxInt |
Result: stored in self (calling object), returns self for chaining
Store the results in calling matrix. The MatrixInt.Rows, MatrixInt.Cols and TMtxVecInt.IntPrecision properties of the callig matrix are adjusted implicitly to match those of Mtx matrix.
Overload 3: function CumSum(const Vec: TMtxVecInt; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;
Calculate the cumulative sum for Vec elements [VecIndex]..[VecIndex+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TMtxVecInt | |
| 2 | VecIndex | Integer | |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
Store the results in calling object elements [Index]..[Index+Len-1]. Size and MatrixInt.IntPrecision properties of the calling object must be set explicitly. Exception is raised if TMtxVecBase.ConditionCheck property is True and array borders are overrun.