TAbstractMtxVecInt.CumSum Method

Overload List

#SignatureDescription
1function CumSum(const Vec: TMtxVecInt; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;Calculate the cumulative sum for Vec elements [VecIndex]..[VecIndex+Len-1].
2function CumSum(Index: Integer; Len: Integer): TMtxVecInt;Cumulative sum.

Overload 1: function CumSum(const Vec: TMtxVecInt; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVecInt;

Calculate the cumulative sum for Vec elements [VecIndex]..[VecIndex+Len-1].

#NameTypeDescription
1VecTMtxVecIntsource TVecInt or TMtxInt
2VecIndexInteger
3IndexIntegerstart index
4LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

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.

Overload 2: function CumSum(Index: Integer; Len: Integer): TMtxVecInt;

Cumulative sum.

#NameTypeDescription
1IndexIntegerstart index
2LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

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.

Examples
var a: Matrix;
begin
    a.SetIt(2,2,false,[1,2,3,4];
    a.CumSum(0,4); // a = [1,3,6,10]
end;