fdiv method
Implementation
bool fdiv( MPData ret, MPData a, MPData b, int prec ){
a = clone( a );
b = clone( b );
int p = _matchPrec( a, b );
int k = b.val(0) < 0 ? -1 : 1;
int l = getLen( b );
int i;
for( i = l; i > 0; i-- ){
if( b.val(i) != 0 ){ break; }
}
if( i == 0 ){ return true; }
if( i != l ){
p -= (l - i) * digit;
_setPrec( a, p );
_setPrec( b, p );
_setLen( b, i * k );
}
MPData q = MPData();
MPData r = MPData();
div( q, a, b, r );
int t = _fmul( q, prec );
_fmul( r, prec );
if( t > 0 ){
MPData k = MPData();
_fcoef( k, t );
mul( q, q, k );
mul( r, r, k );
}
div( r, r, b );
add( ret, q, r );
_setPrec( ret, prec );
return false;
}