1 // Subtract rational numbers
3 // Input: tos-2 minuend
7 // Output: difference on stack
15 unsigned int *a
, *ab
, *b
, *ba
, *c
;
22 ab
= mmul(p1
->u
.q
.a
, p2
->u
.q
.b
);
23 ba
= mmul(p1
->u
.q
.b
, p2
->u
.q
.a
);
39 b
= mmul(p1
->u
.q
.b
, p2
->u
.q
.b
);
49 p1
->u
.q
.a
= mdiv(a
, c
);
50 p1
->u
.q
.b
= mdiv(b
, c
);