21 #ifndef D_BIN_COORDINATES_H 22 #define D_BIN_COORDINATES_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef SECTION_EVALUATOR_H 29 #include "SheafSystem/section_evaluator.h" 33 #include "SheafSystem/sheaf.h" 37 #include "SheafSystem/std_cmath.h" 40 #ifndef STD_IOSTREAM_H 41 #include "SheafSystem/std_iostream.h" 47 using namespace sheaf;
53 template <
int DC,
int DB>
54 class SHEAF_DLL_SPEC d_bin_coordinates
102 bool invariant()
const;
127 bool operator<(const d_bin_coordinates<DC, DB>& xother)
const;
133 bool operator<=(const d_bin_coordinates<DC, DB>& xother)
const;
148 size_type branch(size_type xbit)
const;
153 void put_branch(size_type xbit, size_type xbranch);
158 static int_type ub();
163 static size_type bits();
168 static size_type leftmost_bit_id();
173 static size_type rightmost_bit_id();
178 static size_type degree();
183 static size_type dc();
188 const int_type* int_value()
const;
193 const int_type& operator[](size_type xi)
const;
198 int_type& operator[](size_type xi);
211 int_type _int_value[DC];
228 template <
int DC,
int DB>
231 operator<<(std::ostream& xos, const d_bin_coordinates<DC, DB>& xcoords);
304 #endif // ifndef D_BIN_COORDINATES_H unsigned long long int_type
The type used for integer coordinates.
T & operator-=(T &xresult, const T &xother)
x0 -= x1 (self-allocated for volatile types); synonym for subtract_equal(x0, x1). ...
void put_branch(size_type xbit, size_type xbranch)
Set the branch index at bit position xbit to xbranch.
Fixed point relative coordinates for a tree domain.
size_type branch(size_type xbit) const
The branch index at bit position xbit.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
vd_value_type value_type
The type of component in the value; the scalar type in the range vector space.
sheaf::size_type size_type
An unsigned integral type used to represent sizes and capacities.
bool operator==(const singly_linked_list< T, Alloc > &lhs, const singly_linked_list< T, Alloc > &rhs)
Checks if the contents of lhs and rhs are equal, that is, whether lhs.size() == rhs.size() and each element in lhs compares equal with the element in rhs at the same position.
Namespace for the sheaves component of the sheaf system.
Namespace for the fiber_bundles component of the sheaf system.
Namespace for geometry component of sheaf system.
section_evaluator::value_type value_type
The type used for floating point coordinates.