From c68f49ad25b3efbd99437d4b5dbc5eed24e58ff8 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Wed, 7 Jul 2010 18:17:21 +0200 Subject: [PATCH] add invert support --- src/simulator/high-precision-double.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/simulator/high-precision-double.h b/src/simulator/high-precision-double.h index d28120da1..091e37e5a 100644 --- a/src/simulator/high-precision-double.h +++ b/src/simulator/high-precision-double.h @@ -44,6 +44,8 @@ public: inline void Sub (HighPrecision const &o); inline void Mul (HighPrecision const &o); inline void Div (HighPrecision const &o); + inline void MulByInvert (const HighPrecision &o); + inline static HighPrecision Invert (uint64_t v); inline int Compare (HighPrecision const &o) const; inline static HighPrecision Zero (void); @@ -101,6 +103,17 @@ HighPrecision::Div (HighPrecision const &o) { m_value /= o.m_value; } +void +HighPrecision::MulByInvert (const HighPrecision &o) +{ + m_value *= o.m_value; +} +HighPrecision +HighPrecision::Invert (uint64_t v) +{ + return HighPrecision (1.0 / v); +} + int HighPrecision::Compare (HighPrecision const &o) const {