OpenVDB 11.0.0
Loading...
Searching...
No Matches
Namespaces | Functions
PrefixSum.h File Reference

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

#include "Range.h"
#include <vector>
#include <functional>

Go to the source code of this file.

Namespaces

namespace  nanovdb
 Convert a base-pointer to an openvdb grid, denoted srcGrid, to a nanovdb grid of the same type, e.g. float -> float or openvdb::Vec3f -> nanovdb::Vec3f.
 

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.
 
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].
 

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.