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

Public Member Functions

 hilbert_curve (const int_t &id)
 
 hilbert_curve (const hilbert_curve &bid)
 
 hilbert_curve (const point_t &p)
 
 hilbert_curve (const point_t &p, const size_t depth)
 
void coordinates (point_t &p)
 
hilbert_curveoperator= (const hilbert_curve &bid)
 
- Public Member Functions inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >
constexpr bool is_null () const
 
size_t depth () const
 
void push (int_t bits)
 
void pop ()
 
void pop (size_t d)
 Pop the depth d bits from the end of this key.
 
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.
 
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.
 
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 void set_range (const range_t &range)
 
- Static Public Member Functions inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >
static size_t max_depth ()
 
static constexpr hilbert_curve< DIM, T > min ()
 Smallest value possible at max_depth considering the root.
 
static constexpr hilbert_curve< DIM, T > max ()
 Biggest value possible at max_depth considering the root.
 
static constexpr hilbert_curve< DIM, T > root ()
 
static constexpr hilbert_curve< DIM, T > null ()
 

Additional Inherited Members

- Protected Member Functions inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >
 filling_curve (int_t value)
 
- Protected Attributes inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >
int_t value_
 
- Static Protected Attributes inherited from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >
static constexpr size_t bits_
 
static constexpr size_t max_depth_
 Maximum number of bits.
 
static constexpr size_t max_value_
 
static double min_
 
static double scale_
 
static range_t range_
 

Constructor & Destructor Documentation

◆ hilbert_curve()

template<size_t DIM, typename T >
flecsi::hilbert_curve< DIM, T >::hilbert_curve ( const point_t p,
const size_t  depth 
)
inline

Hilbert key is always generated to the max_depth_ and then truncated otherwise the keys will not be the same

Member Function Documentation

◆ coordinates()

template<size_t DIM, typename T >
void flecsi::hilbert_curve< DIM, T >::coordinates ( point_t p)
inlinevirtual

Convert this id to coordinates in range.

Reimplemented from flecsi::filling_curve< DIM, T, hilbert_curve< DIM, T > >.


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