diff options
author | Mike Buland <mike@xagasoft.com> | 2013-04-19 20:08:05 -0600 |
---|---|---|
committer | Mike Buland <mike@xagasoft.com> | 2013-04-19 20:08:05 -0600 |
commit | 06e46b0e904ca279e6e397c9f9040cf0f059b930 (patch) | |
tree | 054e2ac152ffce28d98546bdabf8083887038e11 /src/number.cpp | |
parent | 7260c36973fc0ad7ff24294ff5540d64bf32c334 (diff) | |
download | clic-06e46b0e904ca279e6e397c9f9040cf0f059b930.tar.gz clic-06e46b0e904ca279e6e397c9f9040cf0f059b930.tar.bz2 clic-06e46b0e904ca279e6e397c9f9040cf0f059b930.tar.xz clic-06e46b0e904ca279e6e397c9f9040cf0f059b930.zip |
Corrected bugs in division scaling and string parsing.
Diffstat (limited to 'src/number.cpp')
-rw-r--r-- | src/number.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/number.cpp b/src/number.cpp index 15cad95..f9fab26 100644 --- a/src/number.cpp +++ b/src/number.cpp | |||
@@ -248,6 +248,8 @@ void Number::set( const Bu::String &sNum ) | |||
248 | aInt.clear(); | 248 | aInt.clear(); |
249 | aFrac.zero(); | 249 | aFrac.zero(); |
250 | bPositive = true; | 250 | bPositive = true; |
251 | if( sNum.isEmpty() ) | ||
252 | return; | ||
251 | int iPt; | 253 | int iPt; |
252 | for( iPt = 0; iPt < sNum.getSize() && sNum[iPt] != '.'; iPt++ ) { } | 254 | for( iPt = 0; iPt < sNum.getSize() && sNum[iPt] != '.'; iPt++ ) { } |
253 | 255 | ||
@@ -455,7 +457,7 @@ void Number::divide( const Number &rhs, Number &q, Number &r ) const | |||
455 | newrhs.aInt.append( rhs.digit( j ) ); | 457 | newrhs.aInt.append( rhs.digit( j ) ); |
456 | newbase.aInt.append( digit( j ) ); | 458 | newbase.aInt.append( digit( j ) ); |
457 | } | 459 | } |
458 | for( int j = 0; j < aInt.getSize(); j++ ) | 460 | for( int j = rhs.aInt.getSize(); j < aInt.getSize(); j++ ) |
459 | { | 461 | { |
460 | newbase.aInt.append( aInt.get( j ) ); | 462 | newbase.aInt.append( aInt.get( j ) ); |
461 | } | 463 | } |