OpenVDB 12.0.0
 
Loading...
Searching...
No Matches
InternalNode< ChildT, Log2Dim > Class Template Reference

Internal nodes of a VDB tree. More...

#include <nanovdb/NanoVDB.h>

Inheritance diagram for InternalNode< ChildT, Log2Dim >:
InternalData< ChildT, LOG2DIM >

Classes

class  ChildIter
 Visits child nodes of this node only. More...
 
class  DenseIterator
 Visits all tile values and child nodes of this node. More...
 
class  ValueIterator
 Visits all tile values in this node, i.e. both inactive and active tiles. More...
 
class  ValueOnIterator
 Visits active tile values of this node only. More...
 

Public Types

using DataType = InternalData<ChildT, Log2Dim>
 
using ValueType = typename DataType::ValueT
 
using FloatType = typename DataType::StatsT
 
using BuildType = typename DataType::BuildT
 
using LeafNodeType = typename ChildT::LeafNodeType
 
using ChildNodeType = ChildT
 
using CoordType = typename ChildT::CoordType
 
template<uint32_t LOG2>
using MaskType = typename ChildT::template MaskType<LOG2>
 
template<bool On>
using MaskIterT = typename Mask<Log2Dim>::template Iterator<On>
 
using ChildIterator = ChildIter<InternalNode>
 
using ConstChildIterator = ChildIter<const InternalNode>
 
using ValueT = typename ChildT::ValueType
 
using BuildT = typename ChildT::BuildType
 
using StatsT = typename ChildT::FloatType
 
using CoordT = typename ChildT::CoordType
 
using MaskT = typename ChildT::template MaskType<LOG2DIM>
 

Public Member Functions

__hostdev__ ChildIterator beginChild ()
 
__hostdev__ ConstChildIterator cbeginChild () const
 
__hostdev__ ValueIterator beginValue () const
 
__hostdev__ ValueIterator cbeginValueAll () const
 
__hostdev__ ValueOnIterator beginValueOn () const
 
__hostdev__ ValueOnIterator cbeginValueOn () const
 
__hostdev__ DenseIterator beginDense () const
 
__hostdev__ DenseIterator cbeginChildAll () const
 
 InternalNode ()=delete
 This class cannot be constructed or deleted.
 
 InternalNode (const InternalNode &)=delete
 
InternalNodeoperator= (const InternalNode &)=delete
 
 ~InternalNode ()=delete
 
__hostdev__ DataTypedata ()
 
__hostdev__ const DataTypedata () const
 
__hostdev__ const MaskType< LOG2DIM > & valueMask () const
 Return a const reference to the bit mask of active voxels in this internal node.
 
__hostdev__ const MaskType< LOG2DIM > & getValueMask () const
 
__hostdev__ const MaskType< LOG2DIM > & childMask () const
 Return a const reference to the bit mask of child nodes in this internal node.
 
__hostdev__ const MaskType< LOG2DIM > & getChildMask () const
 
__hostdev__ CoordType origin () const
 Return the origin in index space of this leaf node.
 
__hostdev__ const ValueTypeminimum () const
 Return a const reference to the minimum active value encoded in this internal node and any of its child nodes.
 
__hostdev__ const ValueTypemaximum () const
 Return a const reference to the maximum active value encoded in this internal node and any of its child nodes.
 
__hostdev__ const FloatTypeaverage () const
 Return a const reference to the average of all the active values encoded in this internal node and any of its child nodes.
 
__hostdev__ FloatType variance () const
 Return the variance of all the active values encoded in this internal node and any of its child nodes.
 
__hostdev__ const FloatTypestdDeviation () const
 Return a const reference to the standard deviation of all the active values encoded in this internal node and any of its child nodes.
 
__hostdev__ const math::BBox< CoordType > & bbox () const
 Return a const reference to the bounding box in index space of active values in this internal node and any of its child nodes.
 
__hostdev__ ValueType getFirstValue () const
 If the first entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getFirstValue() on the child.
 
__hostdev__ ValueType getLastValue () const
 If the last entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getLastValue() on the child.
 
__hostdev__ ValueType getValue (const CoordType &ijk) const
 Return the value of the given voxel.
 
__hostdev__ bool isActive (const CoordType &ijk) const
 
__hostdev__ bool probeValue (const CoordType &ijk, ValueType &v) const
 return the state and updates the value of the specified voxel
 
__hostdev__ const LeafNodeTypeprobeLeaf (const CoordType &ijk) const
 
__hostdev__ ChildNodeTypeprobeChild (const CoordType &ijk)
 
__hostdev__ const ChildNodeTypeprobeChild (const CoordType &ijk) const
 
__hostdev__ void localToGlobalCoord (Coord &ijk) const
 modifies local coordinates to global coordinates of a tile or child node
 
__hostdev__ Coord offsetToGlobalCoord (uint32_t n) const
 
__hostdev__ bool isActive () const
 Return true if this node or any of its child nodes contain active values.
 
template<typename OpT, typename... ArgsT>
__hostdev__ auto get (const CoordType &ijk, ArgsT &&... args) const
 
template<typename OpT, typename... ArgsT>
__hostdev__ decltype(OpT::set(util::declval< InternalNode & >(), util::declval< uint32_t >(), util::declval< ArgsT >()...)) set (const CoordType &ijk, ArgsT &&... args)
 
__hostdev__ void setChild (uint32_t n, const void *ptr)
 
template<typename ValueT>
__hostdev__ void setValue (uint32_t n, const ValueT &v)
 
__hostdev__ ChildT * getChild (uint32_t n)
 Returns a pointer to the child node at the specifed linear offset.
 
__hostdev__ const ChildT * getChild (uint32_t n) const
 
__hostdev__ ValueT getValue (uint32_t n) const
 
__hostdev__ bool isActive (uint32_t n) const
 
__hostdev__ bool isChild (uint32_t n) const
 
template<typename T>
__hostdev__ void setOrigin (const T &ijk)
 
__hostdev__ const ValueTgetMin () const
 
__hostdev__ const ValueTgetMax () const
 
__hostdev__ void setMin (const ValueT &v)
 
__hostdev__ void setMax (const ValueT &v)
 
__hostdev__ void setAvg (const StatsT &v)
 
__hostdev__ void setDev (const StatsT &v)
 

Static Public Member Functions

static __hostdev__ uint32_t dim ()
 Return the dimension, in voxel units, of this internal node (typically 8*16 or 8*16*32)
 
static __hostdev__ size_t memUsage ()
 Return memory usage in bytes for the class.
 
static __hostdev__ uint32_t CoordToOffset (const CoordType &ijk)
 Return the linear offset corresponding to the given coordinate.
 
static __hostdev__ Coord OffsetToLocalCoord (uint32_t n)
 
static __hostdev__ constexpr uint32_t padding ()
 Return padding of this class in bytes, due to aliasing and 32B alignment.
 

Public Attributes

math::BBox< CoordTmBBox
 
uint64_t mFlags
 
MaskT mValueMask
 
MaskT mChildMask
 
ValueT mMinimum
 
ValueT mMaximum
 
StatsT mAverage
 
StatsT mStdDevi
 
Tile mTable [1u<<(3 *LOG2DIM)]
 

Static Public Attributes

static constexpr bool FIXED_SIZE = DataType::FIXED_SIZE
 
static constexpr uint32_t LOG2DIM = Log2Dim
 
static constexpr uint32_t TOTAL = LOG2DIM + ChildT::TOTAL
 
static constexpr uint32_t DIM = 1u << TOTAL
 
static constexpr uint32_t SIZE = 1u << (3 * LOG2DIM)
 
static constexpr uint32_t MASK = (1u << TOTAL) - 1u
 
static constexpr uint32_t LEVEL = 1 + ChildT::LEVEL
 
static constexpr uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)
 

Friends

template<typename, int, int, int>
class ReadAccessor
 
template<typename>
class RootNode
 
template<typename, uint32_t>
class InternalNode
 

Detailed Description

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
class nanovdb::InternalNode< ChildT, Log2Dim >

Internal nodes of a VDB tree.

Member Typedef Documentation

◆ BuildT

template<typename ChildT, uint32_t LOG2DIM>
using BuildT = typename ChildT::BuildType
inherited

◆ BuildType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using BuildType = typename DataType::BuildT

◆ ChildIterator

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using ChildIterator = ChildIter<InternalNode>

◆ ChildNodeType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using ChildNodeType = ChildT

◆ ConstChildIterator

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using ConstChildIterator = ChildIter<const InternalNode>

◆ CoordT

template<typename ChildT, uint32_t LOG2DIM>
using CoordT = typename ChildT::CoordType
inherited

◆ CoordType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using CoordType = typename ChildT::CoordType

◆ DataType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using DataType = InternalData<ChildT, Log2Dim>

◆ FloatType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using FloatType = typename DataType::StatsT

◆ LeafNodeType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using LeafNodeType = typename ChildT::LeafNodeType

◆ MaskIterT

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<bool On>
using MaskIterT = typename Mask<Log2Dim>::template Iterator<On>

◆ MaskT

template<typename ChildT, uint32_t LOG2DIM>
using MaskT = typename ChildT::template MaskType<LOG2DIM>
inherited

◆ MaskType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<uint32_t LOG2>
using MaskType = typename ChildT::template MaskType<LOG2>

◆ StatsT

template<typename ChildT, uint32_t LOG2DIM>
using StatsT = typename ChildT::FloatType
inherited

◆ ValueT

template<typename ChildT, uint32_t LOG2DIM>
using ValueT = typename ChildT::ValueType
inherited

◆ ValueType

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
using ValueType = typename DataType::ValueT

Constructor & Destructor Documentation

◆ InternalNode() [1/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
InternalNode ( )
delete

This class cannot be constructed or deleted.

◆ InternalNode() [2/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
InternalNode ( const InternalNode< ChildT, Log2Dim > & )
delete

◆ ~InternalNode()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
~InternalNode ( )
delete

Member Function Documentation

◆ average()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const FloatType & average ( ) const
inline

Return a const reference to the average of all the active values encoded in this internal node and any of its child nodes.

◆ bbox()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const math::BBox< CoordType > & bbox ( ) const
inline

Return a const reference to the bounding box in index space of active values in this internal node and any of its child nodes.

◆ beginChild()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ChildIterator beginChild ( )
inline

◆ beginDense()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ DenseIterator beginDense ( ) const
inline

◆ beginValue()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueIterator beginValue ( ) const
inline

◆ beginValueOn()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueOnIterator beginValueOn ( ) const
inline

◆ cbeginChild()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ConstChildIterator cbeginChild ( ) const
inline

◆ cbeginChildAll()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ DenseIterator cbeginChildAll ( ) const
inline

◆ cbeginValueAll()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueIterator cbeginValueAll ( ) const
inline

◆ cbeginValueOn()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueOnIterator cbeginValueOn ( ) const
inline

◆ childMask()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const MaskType< LOG2DIM > & childMask ( ) const
inline

Return a const reference to the bit mask of child nodes in this internal node.

◆ CoordToOffset()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
static __hostdev__ uint32_t CoordToOffset ( const CoordType & ijk)
inlinestatic

Return the linear offset corresponding to the given coordinate.

◆ data() [1/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ DataType * data ( )
inline

◆ data() [2/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const DataType * data ( ) const
inline

◆ dim()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
static __hostdev__ uint32_t dim ( )
inlinestatic

Return the dimension, in voxel units, of this internal node (typically 8*16 or 8*16*32)

◆ get()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<typename OpT, typename... ArgsT>
__hostdev__ auto get ( const CoordType & ijk,
ArgsT &&... args ) const
inline

◆ getChild() [1/2]

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ ChildT * getChild ( uint32_t n)
inlineinherited

Returns a pointer to the child node at the specifed linear offset.

◆ getChild() [2/2]

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ const ChildT * getChild ( uint32_t n) const
inlineinherited

◆ getChildMask()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const MaskType< LOG2DIM > & getChildMask ( ) const
inline

◆ getFirstValue()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueType getFirstValue ( ) const
inline

If the first entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getFirstValue() on the child.

◆ getLastValue()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueType getLastValue ( ) const
inline

If the last entry in this node's table is a tile, return the tile's value. Otherwise, return the result of calling getLastValue() on the child.

◆ getMax()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ const ValueT & getMax ( ) const
inlineinherited

◆ getMin()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ const ValueT & getMin ( ) const
inlineinherited

◆ getValue() [1/2]

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ ValueT getValue ( uint32_t n) const
inlineinherited

◆ getValue() [2/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ValueType getValue ( const CoordType & ijk) const
inline

Return the value of the given voxel.

◆ getValueMask()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const MaskType< LOG2DIM > & getValueMask ( ) const
inline

◆ isActive() [1/3]

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ bool isActive ( uint32_t n) const
inlineinherited

◆ isActive() [2/3]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ bool isActive ( ) const
inline

Return true if this node or any of its child nodes contain active values.

◆ isActive() [3/3]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ bool isActive ( const CoordType & ijk) const
inline

◆ isChild()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ bool isChild ( uint32_t n) const
inlineinherited

◆ localToGlobalCoord()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ void localToGlobalCoord ( Coord & ijk) const
inline

modifies local coordinates to global coordinates of a tile or child node

◆ maximum()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const ValueType & maximum ( ) const
inline

Return a const reference to the maximum active value encoded in this internal node and any of its child nodes.

◆ memUsage()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
static __hostdev__ size_t memUsage ( )
inlinestatic

Return memory usage in bytes for the class.

◆ minimum()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const ValueType & minimum ( ) const
inline

Return a const reference to the minimum active value encoded in this internal node and any of its child nodes.

◆ offsetToGlobalCoord()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ Coord offsetToGlobalCoord ( uint32_t n) const
inline

◆ OffsetToLocalCoord()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
static __hostdev__ Coord OffsetToLocalCoord ( uint32_t n)
inlinestatic
Returns
the local coordinate of the n'th tile or child node

◆ operator=()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
InternalNode & operator= ( const InternalNode< ChildT, Log2Dim > & )
delete

◆ origin()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ CoordType origin ( ) const
inline

Return the origin in index space of this leaf node.

◆ padding()

template<typename ChildT, uint32_t LOG2DIM>
static __hostdev__ constexpr uint32_t padding ( )
inlinestaticconstexprinherited

Return padding of this class in bytes, due to aliasing and 32B alignment.

Note
The extra bytes are not necessarily at the end, but can come from aliasing of individual data members.

◆ probeChild() [1/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ ChildNodeType * probeChild ( const CoordType & ijk)
inline

◆ probeChild() [2/2]

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const ChildNodeType * probeChild ( const CoordType & ijk) const
inline

◆ probeLeaf()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const LeafNodeType * probeLeaf ( const CoordType & ijk) const
inline

◆ probeValue()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ bool probeValue ( const CoordType & ijk,
ValueType & v ) const
inline

return the state and updates the value of the specified voxel

◆ set()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<typename OpT, typename... ArgsT>
__hostdev__ decltype(OpT::set(util::declval< InternalNode & >(), util::declval< uint32_t >(), util::declval< ArgsT >()...)) set ( const CoordType & ijk,
ArgsT &&... args )
inline

◆ setAvg()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ void setAvg ( const StatsT & v)
inlineinherited

◆ setChild()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ void setChild ( uint32_t n,
const void * ptr )
inlineinherited

◆ setDev()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ void setDev ( const StatsT & v)
inlineinherited

◆ setMax()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ void setMax ( const ValueT & v)
inlineinherited

◆ setMin()

template<typename ChildT, uint32_t LOG2DIM>
__hostdev__ void setMin ( const ValueT & v)
inlineinherited

◆ setOrigin()

template<typename ChildT, uint32_t LOG2DIM>
template<typename T>
__hostdev__ void setOrigin ( const T & ijk)
inlineinherited

◆ setValue()

template<typename ChildT, uint32_t LOG2DIM>
template<typename ValueT>
__hostdev__ void setValue ( uint32_t n,
const ValueT & v )
inlineinherited

◆ stdDeviation()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const FloatType & stdDeviation ( ) const
inline

Return a const reference to the standard deviation of all the active values encoded in this internal node and any of its child nodes.

◆ valueMask()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ const MaskType< LOG2DIM > & valueMask ( ) const
inline

Return a const reference to the bit mask of active voxels in this internal node.

◆ variance()

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
__hostdev__ FloatType variance ( ) const
inline

Return the variance of all the active values encoded in this internal node and any of its child nodes.

Friends And Related Symbol Documentation

◆ InternalNode

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<typename, uint32_t>
friend class InternalNode
friend

◆ ReadAccessor

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<typename, int, int, int>
friend class ReadAccessor
friend

◆ RootNode

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
template<typename>
friend class RootNode
friend

Member Data Documentation

◆ DIM

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint32_t DIM = 1u << TOTAL
staticconstexpr

◆ FIXED_SIZE

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
bool FIXED_SIZE = DataType::FIXED_SIZE
staticconstexpr

◆ LEVEL

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint32_t LEVEL = 1 + ChildT::LEVEL
staticconstexpr

◆ LOG2DIM

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint32_t LOG2DIM = Log2Dim
staticconstexpr

◆ MASK

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint32_t MASK = (1u << TOTAL) - 1u
staticconstexpr

◆ mAverage

template<typename ChildT, uint32_t LOG2DIM>
StatsT mAverage
inherited

◆ mBBox

template<typename ChildT, uint32_t LOG2DIM>
math::BBox<CoordT> mBBox
inherited

◆ mChildMask

template<typename ChildT, uint32_t LOG2DIM>
MaskT mChildMask
inherited

◆ mFlags

template<typename ChildT, uint32_t LOG2DIM>
uint64_t mFlags
inherited

◆ mMaximum

template<typename ChildT, uint32_t LOG2DIM>
ValueT mMaximum
inherited

◆ mMinimum

template<typename ChildT, uint32_t LOG2DIM>
ValueT mMinimum
inherited

◆ mStdDevi

template<typename ChildT, uint32_t LOG2DIM>
StatsT mStdDevi
inherited

◆ mTable

template<typename ChildT, uint32_t LOG2DIM>
Tile mTable[1u<<(3 *LOG2DIM)]
inherited

◆ mValueMask

template<typename ChildT, uint32_t LOG2DIM>
MaskT mValueMask
inherited

◆ NUM_VALUES

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint64_t NUM_VALUES = uint64_t(1) << (3 * TOTAL)
staticconstexpr

◆ SIZE

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint32_t SIZE = 1u << (3 * LOG2DIM)
staticconstexpr

◆ TOTAL

template<typename ChildT, uint32_t Log2Dim = ChildT::LOG2DIM + 1>
uint32_t TOTAL = LOG2DIM + ChildT::TOTAL
staticconstexpr