]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.runtime/scl/BigInteger.scl
Merge "List the unsatisfied dependencies in CanvasContext"
[simantics/platform.git] / bundles / org.simantics.scl.runtime / scl / BigInteger.scl
1 import "Prelude"
2
3 /// BigInteger ///
4
5 importJava "java.math.BigInteger" where
6     "Arbitrary-precision integer"
7     data BigInteger
8     
9     @JavaName equals
10     equalsBigInteger :: BigInteger -> BigInteger -> Boolean
11     @JavaName min
12     minBigInteger :: BigInteger -> BigInteger -> BigInteger
13     @JavaName max
14     maxBigInteger :: BigInteger -> BigInteger -> BigInteger
15     @JavaName toString
16     showBigInteger :: BigInteger -> String
17     @JavaName compareTo
18     compareBigInteger :: BigInteger -> BigInteger -> Integer
19     @JavaName hashCode
20     hashBigInteger :: BigInteger -> Integer
21     @JavaName ZERO
22     zeroBigInteger :: BigInteger
23     @JavaName ONE
24     oneBigInteger :: BigInteger
25     @JavaName valueOf
26     longToBigInteger :: Long -> BigInteger
27     
28     @JavaName add
29     addBigInteger :: BigInteger -> BigInteger -> BigInteger
30     @JavaName negate
31     negBigInteger :: BigInteger -> BigInteger
32     @JavaName subtract
33     subBigInteger :: BigInteger -> BigInteger -> BigInteger
34     @JavaName multiply
35     mulBigInteger :: BigInteger -> BigInteger -> BigInteger
36     @JavaName divide
37     divBigInteger :: BigInteger -> BigInteger -> BigInteger
38     @JavaName remainder
39     remBigInteger :: BigInteger -> BigInteger -> BigInteger
40     @JavaName abs
41     absBigInteger :: BigInteger -> BigInteger
42     @JavaName intValue
43     toIntegerBigInteger :: BigInteger -> Integer
44
45 instance Show BigInteger where
46     show = showBigInteger
47
48 instance Ord BigInteger where
49     compare = compareBigInteger
50     min = minBigInteger
51     max = maxBigInteger
52
53 instance Additive BigInteger where
54     zero = zeroBigInteger
55     (+) = addBigInteger
56
57 instance Ring BigInteger where
58     neg = negBigInteger
59     (-) = subBigInteger
60     one = oneBigInteger
61     (*) = mulBigInteger
62     fromInteger x = longToBigInteger (fromInteger x)
63     
64 instance OrderedRing BigInteger where
65     abs = absBigInteger
66     toInteger = toIntegerBigInteger
67
68 instance Integral BigInteger where
69     div = divBigInteger
70     mod = remBigInteger