From 7f7a609d30dbfc9c119bd4567b5ee9b47434fa66 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 26 Jul 2024 03:11:58 +0100 Subject: Introduce normalised value in fraction class Bit of a cheat but it would allow us to do some interesting graphical stuff later. --- src/numerics.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/numerics.cpp') diff --git a/src/numerics.cpp b/src/numerics.cpp index ddf7187..833ac5f 100644 --- a/src/numerics.cpp +++ b/src/numerics.cpp @@ -19,13 +19,17 @@ #include Fraction::Fraction(word_t numerator, word_t denominator) - : numerator{numerator}, denominator{denominator} + : numerator{numerator}, denominator{denominator}, + norm{numerator / ((long double)denominator)} { word_t hcf = gcd(MIN(numerator, denominator), MAX(numerator, denominator)); numerator /= hcf; denominator /= hcf; } +// floating point arithmetic inaccuracies blah blah blah better to use +// simplified fractions here + bool Fraction::operator<(const Fraction other) { if (other.denominator == denominator) -- cgit v1.2.3-13-gbd6f