|
ProjGeom 1.0.11
|
#include <fractions.hpp>

Public Member Functions | |
| constexpr | Fraction (Z num, Z den) |
| Construct a new Fraction object from two values. | |
| constexpr auto | normalize () -> Z |
| normalize to a canonical form | |
| constexpr void | normalize1 () |
| normalize to a canonical form | |
| constexpr auto | normalize2 () -> Z |
| normalize to a canonical form | |
| constexpr | Fraction (Z &&num) |
| Construct a new Fraction object from a single value (rvalue). | |
| constexpr | Fraction (const Z &num) |
| Construct a new Fraction object from a single value (const ref). | |
| constexpr | Fraction () |
| Default construct a new Fraction object (0/1). | |
| constexpr auto | num () const noexcept -> const Z & |
| constexpr auto | den () const noexcept -> const Z & |
| constexpr auto | cross (const Fraction &rhs) const -> Z |
| Cross product of two fractions. | |
| constexpr void | reciprocal () noexcept(std::is_nothrow_swappable_v< Z >) |
| reciprocal | |
| constexpr auto | operator*= (Fraction rhs) -> Fraction & |
| multiply and assign | |
| constexpr auto | operator*= (Z rhs) -> Fraction & |
| multiply and assign | |
| constexpr auto | operator/= (Fraction rhs) -> Fraction & |
| divide and assign | |
| constexpr auto | operator/= (const Z &rhs) -> Fraction & |
| divide and assign | |
| constexpr auto | operator- () const -> Fraction |
| Negate. | |
| constexpr auto | operator+ (const Fraction &rhs) const -> Fraction |
| Add. | |
| constexpr auto | operator- (const Fraction &frac) const -> Fraction |
| Subtract. | |
| constexpr auto | operator- (const Z &i) const -> Fraction |
| constexpr auto | operator+= (const Fraction &rhs) -> Fraction & |
| constexpr auto | operator-= (const Fraction &rhs) -> Fraction & |
| constexpr auto | operator+= (const Z &i) -> Fraction & |
| constexpr auto | operator-= (const Z &rhs) -> Fraction & |
Public Attributes | |
| Z | _num |
| Z | _den |
Friends | |
| constexpr auto | operator* (Fraction lhs, const Fraction &rhs) -> Fraction |
| multiply | |
| constexpr auto | operator* (Fraction lhs, const Z &rhs) -> Fraction |
| multiply | |
| constexpr auto | operator* (const Z &lhs, Fraction rhs) -> Fraction |
| multiply | |
| constexpr auto | operator/ (Fraction lhs, const Fraction &rhs) -> Fraction |
| divide | |
| constexpr auto | operator/ (Fraction lhs, const Z &rhs) -> Fraction |
| divide | |
| constexpr auto | operator/ (const Z &lhs, Fraction rhs) -> Fraction |
| divide | |
| constexpr auto | operator+ (Fraction frac, const Z &i) -> Fraction |
| Add. | |
| constexpr auto | operator+ (const Z &i, Fraction frac) -> Fraction |
| Add. | |
| constexpr auto | operator- (const Z &c, const Fraction &frac) -> Fraction |
| constexpr auto | operator+ (int &&c, const Fraction &frac) -> Fraction |
| constexpr auto | operator- (int &&c, const Fraction &frac) -> Fraction |
| constexpr auto | operator* (int &&c, const Fraction &frac) -> Fraction |
| template<typename Stream > | |
| auto | operator<< (Stream &os, const Fraction &frac) -> Stream & |
Comparison operators | |
==, !=, <, >, <=, >= etc. | |
| constexpr auto | operator!= (const Fraction &rhs) const -> bool |
| constexpr auto | operator> (const Fraction &rhs) const -> bool |
| Greater than. | |
| constexpr auto | operator>= (const Fraction &rhs) const -> bool |
| Greater than or euqal to. | |
| constexpr auto | operator<= (const Fraction &rhs) const -> bool |
| Less than or equal to. | |
| constexpr auto | operator> (const Z &rhs) const -> bool |
| Greater than. | |
| constexpr auto | operator<= (const Z &rhs) const -> bool |
| Less than or equal to. | |
| constexpr auto | operator>= (const Z &rhs) const -> bool |
| Greater than or equal to. | |
| constexpr auto | operator== (Fraction lhs, Z rhs) -> bool |
| Equal to. | |
| constexpr auto | operator< (Fraction lhs, Z rhs) -> bool |
| Less than. | |
| constexpr auto | operator< (Z lhs, Fraction rhs) -> bool |
| Less than. | |
| constexpr auto | operator== (const Z &lhs, const Fraction &rhs) -> bool |
| Equal to. | |
| constexpr friend auto | operator== (Fraction lhs, Fraction rhs) -> bool |
| Equal to. | |
| constexpr friend auto | operator< (Fraction lhs, Fraction rhs) -> bool |
| Less than. | |
| constexpr auto | operator> (const Z &lhs, const Fraction &rhs) -> bool |
| Greater than. | |
| constexpr auto | operator<= (const Z &lhs, const Fraction &rhs) -> bool |
| Less than or equal to. | |
| constexpr auto | operator>= (const Z &lhs, const Fraction &rhs) -> bool |
| Greater than or euqal to. | |
|
inlineconstexpr |
Construct a new Fraction object from two values.
| [in] | num | numerator |
| [in] | den | denominator |
|
inlineexplicitconstexpr |
Construct a new Fraction object from a single value (rvalue).
|
inlineexplicitconstexpr |
Construct a new Fraction object from a single value (const ref).
|
inlineconstexpr |
Default construct a new Fraction object (0/1).
|
inlineconstexpr |
Cross product of two fractions.
\[ a/b \times c/d = ad - bc \]
| [in] | rhs |
|
inlineconstexprnoexcept |
|
inlineconstexpr |
normalize to a canonical form
denominator is always non-negative and co-prime with numerator
|
inlineconstexpr |
normalize to a canonical form
denominator is always non-negative
|
inlineconstexpr |
normalize to a canonical form
denominator is always co-prime with numerator
|
inlineconstexprnoexcept |
|
inlineconstexpr |
| [in] | rhs |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
| [in] | rhs |
|
inlineconstexpr |
| [in] | i |
|
inlineconstexpr |
Negate.
|
inlineconstexpr |
|
inlineconstexpr |
| [in] | i |
|
inlineconstexpr |
| [in] | rhs |
|
inlineconstexpr |
| [in] | rhs |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Less than or equal to.
| [in] | rhs |
|
inlineconstexpr |
Less than or equal to.
| [in] | rhs |
|
inlineconstexpr |
Greater than.
| [in] | rhs |
|
inlineconstexpr |
Greater than.
| [in] | rhs |
|
inlineconstexpr |
Greater than or euqal to.
| [in] | rhs |
|
inlineconstexpr |
Greater than or equal to.
| [in] | rhs |
|
inlineconstexprnoexcept |
reciprocal
|
friend |
| [in] | c | |
| [in] | frac |
|
friend |
| [in] | c | |
| [in] | frac |
|
friend |
| [in] | c | |
| [in] | frac |
|
friend |
| [in] | c | |
| [in] | frac |
|
friend |
Less than.
| [in] | lhs | |
| [in] | rhs |
|
friend |
Less than.
| [in] | lhs | |
| [in] | rhs |
|
friend |
Less than.
| [in] | lhs | |
| [in] | rhs |
|
friend |
| Stream | |
| Z |
| [in] | os | |
| [in] | frac |
|
friend |
Less than or equal to.
| [in] | lhs | |
| [in] | rhs |
|
friend |
Equal to.
| [in] | lhs | |
| [in] | rhs |
|
friend |
Equal to.
| [in] | rhs |
Equal to
| [in] | lhs | |
| [in] | rhs |
|
friend |
Equal to.
| [in] | lhs | |
| [in] | rhs |
|
friend |
Greater than.
| [in] | lhs | |
| [in] | rhs |
|
friend |
Greater than or euqal to.
| [in] | lhs | |
| [in] | rhs |
| Z fun::Fraction< Z >::_den |
| Z fun::Fraction< Z >::_num |