TMtxInt.CumSum Method

Overload List

#SignatureDescription
1TMtxInt CumSumCumulative sum for each of the matrix columns.
└ indexed: TMtxVecInt CumSum(Int32 Index, Int32 Len)
2TMtxInt CumSum(TMtxInt Mtx)Calculate the cumulative sum for each of the X matrix columns.
3TMtxVecInt CumSum(TMtxVecInt Vec, Int32 VecIndex, Int32 Index, Int32 Len)Calculate the cumulative sum for Vec elements [VecIndex]..[VecIndex+Len-1].

Overload 1: TMtxInt CumSum

Cumulative sum for each of the matrix columns.

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

Remarks:

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.

Examples
TMtxInt Mtx;
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;
    }
See Also: TMtxInt.SumCols

Indexed: TMtxVecInt CumSum(Int32 Index, Int32 Len)

Cumulative sum.

#NameTypeDescription
1IndexInt32start index
2LenInt32element 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 Dew.Math.TMtxVecBase.ConditionCheck is true and array borders are overrun.

Examples
using Dew.Math;
using Dew.Math.Units;

namespace Dew.Examples
{
    void Example()
    {
        TVecInt a;
        MtxVecInt.CreateIt(out a);
        try
        {
            a.SetIt(true,new double[] {1,2,3,4});
            a.CumSum();  // a = [1,3,6,10]
        }
        finally
        {
            MtxVecInt.FreeIt(ref a);
        }
    }
}

Overload 2: TMtxInt CumSum(TMtxInt Mtx)

Calculate the cumulative sum for each of the X matrix columns.

#NameTypeDescription
1MtxTMtxIntsource TMtxInt

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

Remarks:

Store the results in calling matrix. The Dew.Math.TMtxInt.Rows, Dew.Math.TMtxInt.Cols and Dew.Math.TMtxVecInt.IntPrecision properties of the callig matrix are adjusted implicitly to match those of Mtx matrix.

Overload 3: TMtxVecInt CumSum(TMtxVecInt Vec, Int32 VecIndex, Int32 Index, Int32 Len)

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

#NameTypeDescription
1VecTMtxVecIntsource TVecInt or TMtxInt
2VecIndexInt32
3IndexInt32start index
4LenInt32element 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 Dew.Math.TMtxVecInt.IntPrecision properties of the calling object must be set explicitly. Exception is raised if Dew.Math.TMtxVecBase.ConditionCheck property is True and array borders are overrun.