1 // Multiply rational numbers
3 // Input: tos-2 multiplicand
7 // Output: product on stack
15 unsigned int *aa
, *bb
, *c
;
24 if (MZERO(p1
->u
.q
.a
) || MZERO(p2
->u
.q
.a
)) {
30 aa
= mmul(p1
->u
.q
.a
, p2
->u
.q
.a
);
31 bb
= mmul(p1
->u
.q
.b
, p2
->u
.q
.b
);
41 p1
->u
.q
.a
= mdiv(aa
, c
);
42 p1
->u
.q
.b
= mdiv(bb
, c
);