Skip to content

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)

fraction(i64 num = 0, i64 den = 1) noexcept

Construct a fraction from a numerator and denominator.

Parameters
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 &)

friend fraction operator+(const fraction& x, const fraction& y) noexcept

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 &)

friend fraction operator-(const fraction& x, const fraction& y) noexcept

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 &)

friend fraction operator*(const fraction& x, const fraction& y) noexcept

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 &)

friend fraction operator/(const fraction& x, const fraction& y) noexcept

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 &)

friend bool operator==(const fraction& x, const fraction& y) noexcept

Equality comparison.

Fully qualified name: kfr::fraction::operator==(const fraction &, const fraction &)

Declared at base/fraction.hpp:104

function operator!=(const fraction &, const fraction &)

friend bool operator!=(const fraction& x, const fraction& y) noexcept

Inequality comparison.

Fully qualified name: kfr::fraction::operator!=(const fraction &, const fraction &)

Declared at base/fraction.hpp:109

function operator<(const fraction &, const fraction &)

friend bool operator<(const fraction& x, const fraction& y) noexcept

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 &)

friend bool operator<=(const fraction& x, const fraction& y) noexcept

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 &)

friend bool operator>(const fraction& x, const fraction& y) noexcept

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 &)

friend bool operator>=(const fraction& x, const fraction& y) noexcept

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 &)

fraction& operator+=(const fraction& y) noexcept

Add-assign.

Fully qualified name: kfr::fraction::operator+=(const fraction &)

Declared at base/fraction.hpp:132

function operator-=(const fraction &)

fraction& operator-=(const fraction& y) noexcept

Subtract-assign.

Fully qualified name: kfr::fraction::operator-=(const fraction &)

Declared at base/fraction.hpp:138

function operator*=(const fraction &)

fraction& operator*=(const fraction& y) noexcept

Multiply-assign.

Fully qualified name: kfr::fraction::operator*=(const fraction &)

Declared at base/fraction.hpp:144

function operator/=(const fraction &)

fraction& operator/=(const fraction& y) noexcept

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

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.