HM3
Hierarchical Multi-physics Multi-scale Methods
 All Classes Namespaces Functions Variables Typedefs Enumerations Pages
hm3 Namespace Reference

TODO: More...

Namespaces

 amr
 Adaptive mesh refinement.
 
 bit
 Bit manipulation utilities.
 
 constant
 Numeric constants.
 
 dense
 Dense matrix.
 
 fs
 File system utilities.
 
 io
 I/O functionality.
 
 math
 Math utilities.
 
 system
 Operating system utilities.
 
 test
 Unit-testing utilities.
 

Classes

struct  bounded
 A tagged type with values in range [from, to) More...
 

Functions

template<typename F >
decltype(auto) constexpr cold_do (F &&f) noexcept(noexcept(f()))
 Performs a cold computation preventing inlining and branch prediction.
 
template<typename Box , typename Int , typename value_type = typename Box::value_type, CONCEPT_REQUIRES_(Same< Int, value_type >{}and RandomAccessIncrementable< value_type >{}) >
auto boxed_ints (Int const &from, Int const &to)
 Creates a range of boxed integers (e.g. boxed in a compact_optional or bounded_integer type)
 
template<typename Box , typename value_type = typename Box::value_type, CONCEPT_REQUIRES_(RandomAccessIncrementable< value_type >{}) >
auto boxed_ints (Box const &from, Box const &to)
 Creates a range of boxed integers (e.g. boxed in a compact_optional or bounded_integer type)
 
template<typename Rng , CONCEPT_REQUIRES_(InputRange< Rng >{}and!ForwardRange< Rng >{}) >
auto use_copy_if_single_pass (Rng &&rng) noexcept
 Returns a copy of a range if its SinglePass, and otherwise it returns the range (useful when one want's to iterate over a single pass range multiple times)
 

Primitive type aliases

using int_t = int_fast64_t
 
using uint_t = uint_fast64_t
 
using sint_t = int_fast32_t
 
using suint_t = uint_fast32_t
 
using num_t = double
 
using string = std::string
 

Index types

using idx_t = int_t
 
using sidx_t = sint_t
 

Detailed Description

TODO:

  • replace static_cast<int_t> with static_cast<uint_t>