Struct fraction¶
struct fraction base¶
struct fraction { … } Exact rational number represented as a numerator/denominator pair.
Always stored in normalized form: the denominator is positive and the numerator and denominator are coprime.
constructor fraction(i64, i64) ¶
Construct a fraction from a numerator and denominator.
| num | Numerator (defaults to 0). |
| den | Denominator (defaults to 1); the result is normalized. |
Fully qualified name: kfr::fraction::fraction(i64, i64)
Declared at base/fraction.hpp:44
function normalize() ¶
void normalize() noexcept Reduce the fraction to lowest terms and enforce a positive denominator.
Fully qualified name: kfr::fraction::normalize()
Declared at base/fraction.hpp:49
variable numerator ¶
i64 numerator Numerator of the fraction.
Fully qualified name: kfr::fraction::numerator
Declared at base/fraction.hpp:62
variable denominator ¶
i64 denominator Denominator of the fraction (always positive after normalization).
Fully qualified name: kfr::fraction::denominator
Declared at base/fraction.hpp:64
function operator+() ¶
fraction operator+() const noexcept Unary plus (returns a copy of the fraction).
Fully qualified name: kfr::fraction::operator+()
Declared at base/fraction.hpp:67
function operator-() ¶
fraction operator-() const noexcept Unary minus (negates the numerator).
Fully qualified name: kfr::fraction::operator-()
Declared at base/fraction.hpp:69
operator operator bool() ¶
explicit operator bool() const noexcept True if the fraction is non-zero.
Fully qualified name: kfr::fraction::operator bool()
Declared at base/fraction.hpp:72
operator operator double() ¶
explicit operator double() const noexcept Convert to double (exact value).
Fully qualified name: kfr::fraction::operator double()
Declared at base/fraction.hpp:74
operator operator float() ¶
explicit operator float() const noexcept Convert to float (exact value).
Fully qualified name: kfr::fraction::operator float()
Declared at base/fraction.hpp:76
operator operator long() ¶
explicit operator i64() const noexcept Convert to integer (truncates toward zero).
Fully qualified name: kfr::fraction::operator long()
Declared at base/fraction.hpp:78
function operator+(const fraction &, const fraction &) ¶
Add two fractions.
Fully qualified name: kfr::fraction::operator+(const fraction &, const fraction &)
Declared at base/fraction.hpp:81
function operator-(const fraction &, const fraction &) ¶
Subtract two fractions.
Fully qualified name: kfr::fraction::operator-(const fraction &, const fraction &)
Declared at base/fraction.hpp:87
function operator*(const fraction &, const fraction &) ¶
Multiply two fractions.
Fully qualified name: kfr::fraction::operator*(const fraction &, const fraction &)
Declared at base/fraction.hpp:93
function operator/(const fraction &, const fraction &) ¶
Divide two fractions.
Fully qualified name: kfr::fraction::operator/(const fraction &, const fraction &)
Declared at base/fraction.hpp:98
function operator==(const fraction &, const fraction &) ¶
Equality comparison.
Fully qualified name: kfr::fraction::operator==(const fraction &, const fraction &)
Declared at base/fraction.hpp:104
function operator!=(const fraction &, const fraction &) ¶
Inequality comparison.
Fully qualified name: kfr::fraction::operator!=(const fraction &, const fraction &)
Declared at base/fraction.hpp:109
function operator<(const fraction &, const fraction &) ¶
Less-than comparison.
Fully qualified name: kfr::fraction::operator<(const fraction &, const fraction &)
Declared at base/fraction.hpp:111
function operator<=(const fraction &, const fraction &) ¶
Less-than-or-equal comparison.
Fully qualified name: kfr::fraction::operator<=(const fraction &, const fraction &)
Declared at base/fraction.hpp:116
function operator>(const fraction &, const fraction &) ¶
Greater-than comparison.
Fully qualified name: kfr::fraction::operator>(const fraction &, const fraction &)
Declared at base/fraction.hpp:121
function operator>=(const fraction &, const fraction &) ¶
Greater-than-or-equal comparison.
Fully qualified name: kfr::fraction::operator>=(const fraction &, const fraction &)
Declared at base/fraction.hpp:126
function operator+=(const fraction &) ¶
Add-assign.
Fully qualified name: kfr::fraction::operator+=(const fraction &)
Declared at base/fraction.hpp:132
function operator-=(const fraction &) ¶
Subtract-assign.
Fully qualified name: kfr::fraction::operator-=(const fraction &)
Declared at base/fraction.hpp:138
function operator*=(const fraction &) ¶
Multiply-assign.
Fully qualified name: kfr::fraction::operator*=(const fraction &)
Declared at base/fraction.hpp:144
function operator/=(const fraction &) ¶
Divide-assign.
Fully qualified name: kfr::fraction::operator/=(const fraction &)
Declared at base/fraction.hpp:150
Fully qualified name: kfr::fraction
Declared at base/fraction.hpp:37