VSum


The VSum function returns the sum of a variable list that can include values, tables, and data collection objects. If the list consists only of a single large table or class object, use the faster TSum function.

Syntax

nSum = VSum( ... )

where

    ... is a list of numbers, tables, CImage, CArray, and CMatrix objects.

    nSum is the sum of the values from all items in the list.

  

To process a single table, or a single CImage, CArray, or CMatrix object, use TSum function or the CStats:Mean method. Using the CStats class has the added ability to constrain the sample to a rectangular region of a CImage. CArray, or CMatrix object. Since Lua implicitly converts string representations of numbers to numbers, the argument list and tables also may contain strings that can be converted to numbers.

Example

The following script returns the sum of values in acollection of tables and numbers. Note that table t is used twice in the argument list just for testing purposes.

t0 = { 1.5e-4, 2, 3, 4 }

-- create atable

t1 = { 10, 11 }

-- create another table

t2 = { {26, t0}, {"27"}, 3 }

-- createsome subtables

t3 = { 4, "5", "6" }

-- create a table with strings as numbers

t = { t1, t2, t3 }

-- assemble tables into another table

s = VSum( t, 2, 5, t, "6" )

-- call VSum() with an argument list

Printf( "Sum = %-.16lg\n", s )

-- Result: Sum = 215.0003

Related Topics

VMean

Variable Argument Functions

Table Functions

TSum

CStats class