15 #ifndef PAAL_INFINITY_HPP
16 #define PAAL_INFINITY_HPP
30 using disable_other_infinity =
typename std::enable_if<!std::is_same<
35 template <
typename T>
bool operator<(T &&)
const {
return !sign; }
41 template <
typename T>
bool operator>(T &&)
const {
return sign; }
48 return !(*
this > std::forward<T>(t));
56 return !(*this < std::forward<T>(t));
63 template <
typename T,
typename = disable_other_infinity<T>>
70 template <
typename T,
typename = disable_other_infinity<T>>
77 template <
typename T,
typename = disable_other_infinity<T>>
80 >= std::forward<T>(t);
84 template <
typename T,
typename = disable_other_infinity<T>>
87 <= std::forward<T>(t);
91 template <
bool sign>
bool operator<(infinity<!sign>, infinity<sign>) {
95 template <
bool sign>
bool operator>(infinity<sign>, infinity<!sign>) {
100 bool operator<=(infinity<!sign> left, infinity<sign> right) {
101 return !(left > right);
105 bool operator>=(infinity<!sign> left, infinity<sign> right) {
106 return !(left < right);
116 #endif // PAAL_INFINITY_HPP
friend bool operator>=(T &&t, infinity)
friend operator>=
bool operator>(T &&) const
operator>
bool operator<=(infinity) const
operator<=
friend bool operator<(T &&t, infinity)
friend operator<
bool operator>(infinity) const
operator>
bool operator<=(T &&t) const
operator<=
bool operator>=(const fraction< A, B > &f1, const fraction< C, D > &f2)
operator>=
bool operator<(T &&) const
operator<
bool operator<(infinity) const
operator<
friend bool operator>(T &&t, infinity)
friend operator>
friend bool operator<=(T &&t, infinity)
friend operator<=
if the sign = true, class represents plus_infinity: object bigger than everything if the sign = false...
bool operator>=(T &&t) const
operator>=
bool operator>=(infinity) const
operator>=