• API
• FAQ
• Tools
• Archive
daily pastebin goal
63%
SHARE
TWEET

# Untitled

a guest Feb 18th, 2019 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. open Num
2. open Big_int
3. open Ratio
4. open Printf
5.
6. let divide a b =
7.   let q = quo_num a b in
8.   let r = mod_num a b in
9.   sprintf "q=%-2s r=%-2s" (string_of_num q) (string_of_num r)
10. ;;
11.
12. let testall a b =
13.   let i x = Int x in
14.   let bi x = Big_int (big_int_of_int x) in
15.   let r x = Ratio (ratio_of_int x) in
16.   printf "/---------------------------------------------\\\n";
17.   printf "|  %2d/%2d  |    Int    |  Big_int  |   Ratio   |\n" a b;
18.   printf "|---------------------------------------------|\n";
19.   printf "|   Int   | %s | %s | %s |\n"
20.          (divide (i a) (i b))
21.          (divide (i a) (bi b))
22.          (divide (i a) (r b));
23.   printf "|---------------------------------------------|\n";
24.   printf "| Big_int | %s | %s | %s |\n"
25.          (divide (bi a) (i b))
26.          (divide (bi a) (bi b))
27.          (divide (bi a) (r b));
28.   printf "|---------------------------------------------|\n";
29.   printf "|  Ratio  | %s | %s | %s |\n"
30.          (divide (r a) (i b))
31.          (divide (r a) (bi b))
32.          (divide (r a) (r b));
33.   printf "\\---------------------------------------------/\n";
34. ;;
35.
36. let sep () = printf "\n";;
37.
38. testall 5 3;;
39. sep ();;
40. testall (-5) 3;;
41. sep ();;
42. testall 5 (-3);;
43. sep ();;
44. testall (-5) (-3);;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top