1 // Divide rational numbers
3 // Input: tos-2 dividend
7 // Output: quotient on stack
15 unsigned int *aa
, *bb
, *c
;
25 stop("divide by zero");
27 if (MZERO(p1
->u
.q
.a
)) {
33 aa
= mmul(p1
->u
.q
.a
, p2
->u
.q
.b
);
34 bb
= mmul(p1
->u
.q
.b
, p2
->u
.q
.a
);
44 p1
->u
.q
.a
= mdiv(aa
, c
);
45 p1
->u
.q
.b
= mdiv(bb
, c
);