From f2f92156531b49da71067336ef0724f411226644 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Mon, 3 Nov 2014 08:16:33 -0700 Subject: Made x/0 return 0 for now. I have to decide how to handle special values like that, but for now it's better that it doesn't go into an infinite loop. --- src/number.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/number.cpp b/src/number.cpp index 328cb58..0f99792 100644 --- a/src/number.cpp +++ b/src/number.cpp @@ -404,6 +404,18 @@ void Number::set( int32_t iNum ) void Number::divide( const Number &rhs, Number &q, Number &r ) const { + if( rhs.isZero() ) + { + q = rhs; + r.set( 0 ); + return; + } + if( isZero() ) + { + q = *this; + r.set( 0 ); + return; + } DBS( DIVIDE, Bu::println("divide: %1 / %2").arg( *this ).arg( rhs ) ); // iNumShift is how many digits we've shifted the entire equation, -- cgit v1.2.3