diff --git a/gcode_parse.c b/gcode_parse.c index e9fc162..3673be7 100644 --- a/gcode_parse.c +++ b/gcode_parse.c @@ -60,10 +60,14 @@ int32_t decfloat_to_int(decfloat *df, int32_t multiplicand, int32_t denominator) e--; // scale factors - if (multiplicand != 1) - r *= multiplicand; - if (denominator != 1) - r /= denominator; +// if (multiplicand != 1) +// r *= multiplicand; +// if (denominator != 1) +// r /= denominator; + + int32_t rnew1 = r * (multiplicand / denominator) + int32_t rnew2 = r * (multiplicand % denominator) + r = rnew1 + rnew2; // sign if (df->sign)