Tatooine
Namespaces | Functions
math.h File Reference

Go to the source code of this file.

Namespaces

namespace  tatooine
 

Functions

template<typename A , typename B >
requires same_as<std::decay_t<A>, std::decay_t<B>>
constexpr auto tatooine::min (A &&a, B &&b)
 
template<typename A , typename B >
requires same_as<std::decay_t<A>, std::decay_t<B>>
constexpr auto tatooine::max (A &&a, B &&b)
 
constexpr auto tatooine::log (arithmetic auto const x)
 
constexpr auto tatooine::log2 (arithmetic auto const x)
 
constexpr auto tatooine::abs (arithmetic auto const x)
 
constexpr auto tatooine::sin (arithmetic auto const x)
 
constexpr auto tatooine::cos (arithmetic auto const x)
 
constexpr auto tatooine::sqrt (arithmetic auto const x)
 
constexpr auto tatooine::pow (arithmetic auto const x)
 
template<template< typename > typename Comparator, typename T0 , typename T1 , typename... TRest>
requires requires(T0 a, T1 b, Comparator<std::decay_t<T0>> comp) { { comp(a, b) } -> std::convertible_to<bool>; } && same_as<std::decay_t<T0>, std::decay_t<T1>> && (same_as<std::decay_t<T0>, std::decay_t<TRest>> && ...)
constexpr auto tatooine::compare_variadic (T0 &&a, T1 &&b, TRest &&... rest)
 
template<typename T0 >
constexpr auto tatooine::max (T0 &&a) -> decltype(auto)
 
template<typename T0 , typename T1 , typename T2 , typename... TRest>
requires requires(T0&& a, T1&& b) { { a > b } -> std::convertible_to<bool>; }
constexpr auto tatooine::max (T0 &&a, T1 &&b, T2 &&c, TRest &&... rest) -> decltype(auto)
 
template<typename T0 , typename T1 , typename T2 , typename... TRest>
requires requires(T0&& a, T1&& b) { { a > b } -> std::convertible_to<bool>; }
constexpr auto tatooine::min (T0 &&a, T1 &&b, T2 &&c, TRest &&... rest) -> decltype(auto)
 
template<typename T , std::size_t N, std::size_t... Is>
constexpr auto tatooine::min (std::array< T, N > const &arr, std::index_sequence< Is... >)
 
template<typename T , std::size_t N>
constexpr auto tatooine::min (std::array< T, N > const &arr)
 
template<typename T , std::size_t N, std::size_t... Is>
constexpr auto tatooine::max (std::array< T, N > const &arr, std::index_sequence< Is... >)
 
template<typename T , std::size_t N>
constexpr auto tatooine::max (std::array< T, N > const &arr)
 
constexpr auto tatooine::ipow (integral auto const base, integral auto const exp)
 
template<integral Int>
constexpr auto tatooine::factorial (Int const i) -> std::decay_t< Int >