|  | 
| template<domain D :shared3p > | 
| D uint | sum (D bool[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D uint8 | sum (D uint8[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D uint16 | sum (D uint16[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D uint32 | sum (D uint32[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D uint | sum (D uint[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D int8 | sum (D int8[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D int16 | sum (D int16[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D int32 | sum (D int32[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D int | sum (D int[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D float32 | sum (D float32[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D float64 | sum (D float64[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D fix32 | sum (D fix32[[1]] vec) | 
|  | 
| template<domain D :shared3p > | 
| D fix64 | sum (D fix64[[1]] vec) | 
|  | 
Function for finding the sum of all the elements in a vector. 
- Note
- D - shared3p protection domain 
- 
Supported types - bool / uint8 / uint16 / uint32 / uint / int8 / int16 / int32 / int / float32 / float64 
- 
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 
- Leakage
- None
◆ sum() [1/13]
      
        
          | 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/13]
      
        
          | D fix32 sum | ( | D fix32[[1]] | vec | ) |  | 
      
 
 
◆ sum() [3/13]
      
        
          | D fix64 sum | ( | D fix64[[1]] | vec | ) |  | 
      
 
 
◆ sum() [4/13]
      
        
          | D float32 sum | ( | D float32[[1]] | vec | ) |  | 
      
 
 
◆ sum() [5/13]
      
        
          | D float64 sum | ( | D float64[[1]] | vec | ) |  | 
      
 
 
◆ sum() [6/13]
      
        
          | D int16 sum | ( | D int16[[1]] | vec | ) |  | 
      
 
 
◆ sum() [7/13]
      
        
          | D int32 sum | ( | D int32[[1]] | vec | ) |  | 
      
 
 
◆ sum() [8/13]
      
        
          | D int8 sum | ( | D int8[[1]] | vec | ) |  | 
      
 
 
◆ sum() [9/13]
      
        
          | D int sum | ( | D int[[1]] | vec | ) |  | 
      
 
 
◆ sum() [10/13]
      
        
          | D uint16 sum | ( | D uint16[[1]] | vec | ) |  | 
      
 
 
◆ sum() [11/13]
      
        
          | D uint32 sum | ( | D uint32[[1]] | vec | ) |  | 
      
 
 
◆ sum() [12/13]
      
        
          | D uint8 sum | ( | D uint8[[1]] | vec | ) |  | 
      
 
 
◆ sum() [13/13]
      
        
          | D uint sum | ( | D uint[[1]] | vec | ) |  |