aboutsummaryrefslogtreecommitdiff
path: root/test-suite/output/NumbersSyntax.v
blob: 3f6a40bcb7f5149503949b5294db2ecb47fab202 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Require Import BigQ.

Open Scope int31_scope.
Check I31. (* Would be nice to have I31 : digits->digits->...->int31
              For the moment, I31 : digits31 int31, which is better
	      than (fix nfun .....) size int31 *)
Check 2.
Check 1000000000000000000. (* = 660865024, after modulo 2^31 *)
Check (add31 2 2).
Check (2+2).
Eval compute in 2+2.
Eval compute in 65675757 * 565675998.
Close Scope int31_scope.

Open Scope bigN_scope.
Check 2.
Check 1000000000000000000.
Check (BigN.add 2 2).
Check (2+2).
Eval compute in 2+2.
Eval compute in 65675757 * 565675998.
Close Scope bigN_scope.

Open Scope bigZ_scope.
Check 2.
Check -1000000000000000000.
Check (BigZ.add 2 2).
Check (2+2).
Eval compute in 2+2.
Eval compute in 65675757 * 565675998.
Close Scope bigN_scope.

Open Scope bigQ_scope.
Check 2.
Check -1000000000000000000.
Check (BigQ.add 2 2).
Check (2+2).
Eval compute in 2+2.
Eval compute in 65675757 * 565675998.
(* fractions *)
Check (BigQ.Qq 6562%bigZ 456%bigN).
 (* Having to say %bigZ and %bigN is a BUG! *)
Eval compute in (BigQ.red (BigQ.Qq 6562%bigZ 456%bigN)).
Eval compute in (1/10000).
Close Scope bigQ_scope.