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 TMtxInt.Rows, TMtxInt.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 | source TVecInt or TMtxInt |
| 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 TMtxVecInt.IntPrecision properties of the calling object must be set explicitly. Exception is raised if TMtxVecBase.ConditionCheck property is True and array borders are overrun.