Interface Documentation
Version: invalid
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
flecsi::filling_curve< DIM, T, DERIVED > Class Template Reference
Collaboration diagram for flecsi::filling_curve< DIM, T, DERIVED >:
Collaboration graph
[legend]

Public Member Functions

constexpr bool is_null () const
 
size_t depth () const
 
void push (int_t bits)
 
void pop ()
 
int conflict_depth (filling_curve key_a, filling_curve key_b)
 Search for the depth were two keys are in conflict.
 
int pop_value ()
 Pop and return the digit popped.
 
int last_value ()
 Return the last digit of the key.
 
void pop (size_t d)
 Pop the depth d bits from the end of this key.
 
constexpr filling_curve parent () const
 Return the parent of this key (depth - 1)
 
void truncate (size_t to_depth)
 Truncate this key until it is of depth to_depth.
 
void output_ (std::ostream &ostr) const
 Output a key using oct in 3d and poping values for 2 and 1D.
 
int_t value () const
 Get the value associated to this key.
 
virtual void coordinates (point_t &)
 Convert this key to coordinates in range.
 
constexpr bool operator== (const filling_curve &bid) const
 
constexpr bool operator<= (const filling_curve &bid) const
 
constexpr bool operator>= (const filling_curve &bid) const
 
constexpr bool operator> (const filling_curve &bid) const
 
constexpr bool operator< (const filling_curve &bid) const
 
constexpr bool operator!= (const filling_curve &bid) const
 
 operator int_t () const
 

Static Public Member Functions

static size_t max_depth ()
 
static constexpr DERIVED min ()
 Smallest value possible at max_depth considering the root.
 
static constexpr DERIVED max ()
 Biggest value possible at max_depth considering the root.
 
static constexpr DERIVED root ()
 
static constexpr DERIVED null ()
 

Protected Member Functions

 filling_curve (int_t value)
 

Protected Attributes

int_t value_
 

Static Protected Attributes

static constexpr size_t bits_ = sizeof(int_t) * 8
 
static constexpr size_t max_depth_
 Maximum number of bits. More...
 
static constexpr size_t max_value_ = int_t(1) << (max_depth_ - 1)
 
static double min_ = 0
 
static double scale_ = 0
 
static range_t range_ = {}
 

Member Function Documentation

◆ depth()

template<size_t DIM, typename T, class DERIVED>
size_t flecsi::filling_curve< DIM, T, DERIVED >::depth ( ) const
inline

Find the depth of this key

◆ is_null()

template<size_t DIM, typename T, class DERIVED>
constexpr bool flecsi::filling_curve< DIM, T, DERIVED >::is_null ( ) const
inline

Check if value_ is null.

◆ null()

template<size_t DIM, typename T, class DERIVED>
static constexpr DERIVED flecsi::filling_curve< DIM, T, DERIVED >::null ( )
inlinestatic

Get the null id.

◆ pop()

template<size_t DIM, typename T, class DERIVED>
void flecsi::filling_curve< DIM, T, DERIVED >::pop ( )
inline

Pop the bits of greatest depth off this id.

◆ push()

template<size_t DIM, typename T, class DERIVED>
void flecsi::filling_curve< DIM, T, DERIVED >::push ( int_t  bits)
inline

Push bits onto the end of this id.

◆ root()

template<size_t DIM, typename T, class DERIVED>
static constexpr DERIVED flecsi::filling_curve< DIM, T, DERIVED >::root ( )
inlinestatic

Get the root id (depth 0)

Member Data Documentation

◆ max_depth_

template<size_t DIM, typename T, class DERIVED>
constexpr size_t flecsi::filling_curve< DIM, T, DERIVED >::max_depth_
staticprotected
Initial value:
=
(bits_ - 1) /
dimension

Maximum number of bits.

◆ max_value_

template<size_t DIM, typename T, class DERIVED>
constexpr size_t flecsi::filling_curve< DIM, T, DERIVED >::max_value_ = int_t(1) << (max_depth_ - 1)
staticprotected

Maximum depth reachable regarding the size of the memory word used


The documentation for this class was generated from the following file: