1260 a = b andalso |
1260 a = b andalso |
1261 let val (p,r,_) = ratcommon(p,q,r,s) |
1261 let val (p,r,_) = ratcommon(p,q,r,s) |
1262 in if a then p < r else r < p end |
1262 in if a then p < r else r < p end |
1263 |
1263 |
1264 fun ratadd(Rat(a,p,q),Rat(b,r,s)) = |
1264 fun ratadd(Rat(a,p,q),Rat(b,r,s)) = |
1265 let val (p,q,den) = ratcommon(p,q,r,s) |
1265 let val (p,r,den) = ratcommon(p,q,r,s) |
1266 val num = (if a then p else ~p) + (if b then r else ~r) |
1266 val num = (if a then p else ~p) + (if b then r else ~r) |
1267 in ratnorm(true,num,den) end; |
1267 in ratnorm(true,num,den) end; |
1268 |
1268 |
1269 fun ratmul(Rat(a,p,q),Rat(b,r,s)) = ratnorm(a=b,p*r,q*s) |
1269 fun ratmul(Rat(a,p,q),Rat(b,r,s)) = ratnorm(a=b,p*r,q*s) |
1270 |
1270 |