VectorInt.CumSum Method

Overload List

#SignatureDescription
1function CumSum: TVecInt;Cumulative sum.
└ indexed: function CumSum(Index: Integer; Len: Integer): TMtxVecInt;
2function CumSum(const Vec: TVecInt): TVecInt;Calculate the cumulative sum for all Vec elements.
3function 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: TVecInt;

Cumulative sum.

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

Remarks:

Calculate the cumulative sum for all calling object elements in-place.

Examples
var a: TVecIn;
begin
    CreateIt(a);
    try
        a.SetIt([1,2,3,4]);
        a.CumSum; // a = [1,3,6,10]
    finally
        FreeIt(a);
    end;
end;
See Also: VectorInt.Sum

Indexed: 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: TVecInt;
begin
    CreateIt(a);
    try
        a.SetIt(false,[1,2,3,4];
        a.CumSum; // a = [1,3,6,10]
    finally
        FreeIt(a);
    end;
end;
See Also: VectorInt.Sum

Overload 2: function CumSum(const Vec: TVecInt): TVecInt;

Calculate the cumulative sum for all Vec elements.

#NameTypeDescription
1VecTVecInt

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

Remarks:

Store the results in calling object. Size and TMtxVecInt.IntPrecision properties of the calling object are set implicitly.

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].

#NameTypeDescription
1VecTMtxVecInt
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 VectorInt.IntPrecision properties of the calling object must be set explicitly. Exception is raised if TMtxVecBase.ConditionCheck property is True and array borders are overrun.