4.4.1
Freundlich's C++ toolkit
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
fcppt::math Namespace Reference

Everything math-related goes in here. More...

Namespaces

namespace  box
 Contains fcppt::math::box::object box::object and helper functions, classes and types for it.
 
namespace  dim
 Contains fcppt::math::dim::object dim::object and helper functions, classes and types for it.
 
namespace  interpolation
 Contains interpolation functions.
 
namespace  matrix
 Contains fcppt::math::matrix::object matrix::object and helper functions, classes and types for it.
 
namespace  sphere
 Contains fcppt::math::sphere::object sphere::object and helper functions, classes and types for it.
 
namespace  vector
 Contains fcppt::math::vector::object vector::object and helper functions, classes and types for it.
 

Classes

struct  is_zero_impl
 
struct  is_zero_impl< boost::units::quantity< Unit, Type > >
 Integrates boost.units with fcppt::math::is_zero.
 

Typedefs

template<typename Type , Type Dividend, Type Divisor>
using ceil_div_static = typename fcppt::math::detail::ceil_div_static< Type, Dividend, Divisor >::type
 Calculates a division of integral contants rounded towards infinity.
 
using difference_type = std::make_signed_t< fcppt::math::size_type >
 The difference type used for structure sizes.
 
template<fcppt::math::size_type Start, fcppt::math::size_type End>
using int_range = fcppt::mpl::list::interval< fcppt::math::size_constant< Start >, fcppt::math::size_constant< End > >
 A static int range.
 
template<fcppt::math::size_type Count>
using int_range_count = fcppt::math::int_range< fcppt::literal< fcppt::math::size_type >(0U), Count >
 A static int range starting at 0.
 
template<typename T >
using is_static_storage = typename fcppt::math::detail::is_static_storage< T >::type
 
template<fcppt::math::size_type N>
using size_constant = std::integral_constant< fcppt::math::size_type, N >
 
using size_type = unsigned
 The size type used for structure sizes.
 
template<fcppt::math::size_type N>
using static_size = std::integral_constant< fcppt::math::size_type, N >
 An mpl integral_c for math::size_type.
 
template<typename Type >
using to_array_type = fcppt::array::object< typename Type::value_type, fcppt::math::detail::storage_size< typename Type::storage_type >::value >
 Returns the array type of an object with static storage.
 

Functions

template<typename T >
fcppt::optional::object< T > ceil_div (T const &_dividend, T const &_divisor)
 Calculates dividend / divisor rounded towards infinity.
 
template<typename T >
fcppt::optional::object< T > ceil_div_signed (T const &_dividend, T const &_divisor)
 Calculates dividend / divisor rounded towards infinity.
 
template<typename T >
fcppt::optional::object< T > clamp (T const &_value, T const &_vmin, T const &_vmax)
 Clamps a value into a range.
 
template<typename T >
deg_to_rad (T const _deg)
 Transforms degrees into radians.
 
template<typename T >
diff (T const &_a, T const &_b)
 Calculates the absolute distance between a and b.
 
template<typename L , typename R >
fcppt::optional::object< FCPPT_MATH_DETAIL_BINARY_TYPE(L,/, R)> div (L const &_dividend, R const &_divisor)
 Calculates dividend / divisor.
 
template<typename Type >
Type from_array (fcppt::math::to_array_type< Type > &&_value)
 Constructs an object with static storage from an array rvalue.
 
template<typename Type >
Type from_array (fcppt::math::to_array_type< Type > const &_value)
 Constructs an object with static storage from an array lvalue.
 
template<typename Type >
Type interval_distance (fcppt::tuple::object< Type, Type > _i1, fcppt::tuple::object< Type, Type > _i2)
 Calculates the distance of two intervals.
 
template<typename T >
constexpr bool is_power_of_2 (T const x) noexcept
 Checks if a number is a power of two.
 
template<typename T >
bool is_zero (T const &_value)
 Compares a value against zero.
 
template<typename T >
log2 (T const x)
 Calculates $\log_2(x)$ for unsigned types (using a loop)
 
template<typename T >
fcppt::optional::object< T > mod (T const &_dividend, T const &_divisor)
 Wraps the integral modulo operator and the floating point modulo functions.
 
template<typename T >
next_power_of_2 (T const _value)
 Calculates the next power of 2 for an unsigned value.
 
template<typename Result , typename Exponent >
constexpr Result power_of_2 (Exponent const _exponent)
 Calculates two to the power of n.
 
template<typename T >
rad_to_deg (T const _rad)
 Transforms radians into degrees.
 
template<typename Type >
fcppt::math::to_array_type< Type > to_array (Type const &_value)
 Returns the array of an object with static storage.
 

Detailed Description

Everything math-related goes in here.

Typedef Documentation

◆ is_static_storage

template<typename T >
using fcppt::math::is_static_storage = typedef typename fcppt::math::detail::is_static_storage<T>::type

◆ size_constant

using fcppt::math::size_constant = typedef std::integral_constant<fcppt::math::size_type, N>