OpenVDB 13.0.0

Loading...
Searching...
No Matches
PrefixSum.h File Reference

Multi-threaded implementations of inclusive prefix sum. More...

`#include <nanovdb/util/Range.h>`
`#include <vector>`
`#include <functional>`

Go to the source code of this file.

## Namespaces
namespace | nanovdb
namespace | nanovdb::util

## Functions
template<typename T, typename OpT = std::plus<T>>
T | prefixSum (std::vector< T > &vec, bool threaded=true, OpT op=OpT())
| Computes inclusive prefix sum of a vector.
template<typename T, typename Op>
void | inclusiveScan (T *array, size_t size, const T &identity, bool threaded, Op op)
| An inclusive scan includes in[i] when computing out[i].
template<typename T, typename OpT = std::plus<T>>
T | prefixSum (std::vector< T > &vec, bool threaded=true, OpT op=OpT())

## Detailed Description

Multi-threaded implementations of inclusive prefix sum.

Author
  Ken Museth

Date
  March 12, 2023

Note
  An exclusive prefix sum is simply an array starting with zero followed by the elements in the inclusive prefix sum, minus its last entry which is the sum of all the input elements.