diff --git a/src/CalcManager/Ratpack/rat.cpp b/src/CalcManager/Ratpack/rat.cpp index 7ac0d7b4..ee294dc6 100644 --- a/src/CalcManager/Ratpack/rat.cpp +++ b/src/CalcManager/Ratpack/rat.cpp @@ -75,15 +75,15 @@ void fracrat( PRAT *pa , uint32_t radix, int32_t precision) { // Only do the intrat operation if number is nonzero. // and only if the bottom part is not one. - //if ( !zernum( (*pa)->pp ) && !equnum( (*pa)->pq, num_one ) ) - //{ - // wstring ratStr = RatToString(*pa, FMT_FLOAT, radix, precision); - // PNUMBER pnum = StringToNumber(ratStr, radix, precision); - // - // destroyrat( *pa ); - // *pa = numtorat( pnum, radix); - // destroynum( pnum ); - //} + if ( !zernum( (*pa)->pp ) && !equnum( (*pa)->pq, num_one ) ) + { + wstring ratStr = RatToString(*pa, FMT_FLOAT, radix, precision); + PNUMBER pnum = StringToNumber(ratStr, radix, precision); + + destroyrat( *pa ); + *pa = numtorat( pnum, radix); + destroynum( pnum ); + } remnum( &((*pa)->pp), (*pa)->pq, BASEX ); diff --git a/src/CalcManager/Ratpack/support.cpp b/src/CalcManager/Ratpack/support.cpp index 38a0add9..81e17ec0 100644 --- a/src/CalcManager/Ratpack/support.cpp +++ b/src/CalcManager/Ratpack/support.cpp @@ -291,12 +291,12 @@ void intrat( PRAT *px, uint32_t radix, int32_t precision) // and only if the bottom part is not one. if ( !zernum( (*px)->pp ) && !equnum( (*px)->pq, num_one ) ) { - //wstring ratStr = RatToString(*px, FMT_FLOAT, radix, precision); - //PNUMBER pnum = StringToNumber(ratStr, radix, precision); - // - //destroyrat( *px ); - //*px = numtorat( pnum, radix); - //destroynum( pnum ); + wstring ratStr = RatToString(*px, FMT_FLOAT, radix, precision); + PNUMBER pnum = StringToNumber(ratStr, radix, precision); + + destroyrat( *px ); + *px = numtorat( pnum, radix); + destroynum( pnum ); PRAT pret = nullptr; DUPRAT(pret,*px);