SecreC 2 language  2.8.0 (2023.09)
Language and standard library reference
Functions

Functions

template<domain D :shared2p >
D uint sum (D bool[[1]] vec)
 
template<domain D :shared2p >
D uint8 sum (D uint8[[1]] vec)
 
template<domain D :shared2p >
D uint16 sum (D uint16[[1]] vec)
 
template<domain D :shared2p >
D uint32 sum (D uint32[[1]] vec)
 
template<domain D :shared2p >
D uint sum (D uint[[1]] vec)
 
template<domain D :shared2p >
D int8 sum (D int8[[1]] vec)
 
template<domain D :shared2p >
D int16 sum (D int16[[1]] vec)
 
template<domain D :shared2p >
D int32 sum (D int32[[1]] vec)
 
template<domain D :shared2p >
D int sum (D int[[1]] vec)
 

Detailed Description

Function for finding the sum of all the elements in a vector.

Note
D - shared2p protection domain
Supported types - bool / uint8 / uint16 / uint32 / uint / int8 / int16 / int32 / int
We are using a system call for summing vectors as it's very common operation, and the performance overhead of manually summing is in the range of 100 to 200 times slower.
Parameters
vec- a 1-dimensional array
Returns
the sum of all input vector elements

Function Documentation

◆ sum() [1/9]

D uint sum ( D bool[[1]]  vec)
Note
boolean values are converted to numerical values and then added, for more info click here
Returns
returns the sum of all the elements in the input vector as an uint64 type value

◆ sum() [2/9]

D int16 sum ( D int16[[1]]  vec)

◆ sum() [3/9]

D int32 sum ( D int32[[1]]  vec)

◆ sum() [4/9]

D int8 sum ( D int8[[1]]  vec)

◆ sum() [5/9]

D int sum ( D int[[1]]  vec)

◆ sum() [6/9]

D uint16 sum ( D uint16[[1]]  vec)

◆ sum() [7/9]

D uint32 sum ( D uint32[[1]]  vec)

◆ sum() [8/9]

D uint8 sum ( D uint8[[1]]  vec)

◆ sum() [9/9]

D uint sum ( D uint[[1]]  vec)