OpenVDB  12.0.0
Namespaces | Functions
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

 nanovdb
 
 nanovdb::util
 

Functions

template<typename T , typename OpT = std::plus<T>>
prefixSum (std::vector< T > &vec, bool threaded=true, OpT op=OpT())
 Computes inclusive prefix sum of a vector. More...
 
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]. More...
 
template<typename T , typename OpT = std::plus<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.