Comparison Operations

Header aarith/float/float_comparisons.hpp

namespace aarith

Functions

template<size_t E, size_t M>
auto constexpr operator<(const floating_point<E, M> lhs, const floating_point<E, M> rhs) -> bool
template<size_t E, size_t M>
bool constexpr bitwise_equality(const floating_point<E, M> lhs, const floating_point<E, M> rhs)

Compares to floating point numbers bit by bit.

Template Parameters
  • E – Exponent width

  • M – Mantissa width

Parameters
  • lhs

  • rhs

Returns

True iff the floats match in every single bit

template<size_t E, size_t M>
auto constexpr operator==(const floating_point<E, M> lhs, const floating_point<E, M> rhs) -> bool
template<size_t E, size_t M, size_t E_, size_t M_, typename = std::enable_if_t<(E != E_) || (M != M_)>>
bool constexpr logical_equality(const floating_point<E, M> lhs, const floating_point<E_, M_> rhs)
template<size_t E, size_t M, size_t E_, size_t M_, typename = std::enable_if_t<(E != E_) || (M != M_)>>
auto constexpr operator==(const floating_point<E, M> lhs, const floating_point<E_, M_> rhs) -> bool
template<size_t E, size_t M, size_t E_, size_t M_, typename = std::enable_if_t<(E != E_) || (M != M_)>>
bool constexpr operator<(const floating_point<E, M> lhs, const floating_point<E_, M_> rhs)
template<size_t E, size_t M, size_t E_, size_t M_>
auto constexpr operator!=(const floating_point<E, M> lhs, const floating_point<E_, M_> rhs) -> bool
template<size_t E, size_t M>
auto constexpr operator>(const floating_point<E, M> lhs, const floating_point<E, M> rhs) -> bool
template<size_t e, size_t m>
auto constexpr operator>=(const floating_point<e, m> lhs, const floating_point<e, m> rhs) -> bool
template<size_t e, size_t m>
auto constexpr operator<=(const floating_point<e, m> lhs, const floating_point<e, m> rhs) -> bool