forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathint32.js
73 lines (58 loc) · 1.24 KB
/
int32.js
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
'use strict';
var Caml_format = require("./caml_format.js");
var Caml_primitive = require("./caml_primitive.js");
var Caml_js_exceptions = require("./caml_js_exceptions.js");
function succ(n) {
return n + 1 | 0;
}
function pred(n) {
return n - 1 | 0;
}
function abs(n) {
if (n >= 0) {
return n;
} else {
return -n | 0;
}
}
function lognot(n) {
return n ^ -1;
}
function to_string(n) {
return Caml_format.caml_int32_format("%d", n);
}
function of_string_opt(s) {
try {
return Caml_format.caml_int32_of_string(s);
}
catch (raw_exn){
var exn = Caml_js_exceptions.internalToOCamlException(raw_exn);
if (exn.RE_EXN_ID === "Failure") {
return ;
}
throw exn;
}
}
var compare = Caml_primitive.caml_int32_compare;
function equal(x, y) {
return x === y;
}
var zero = 0;
var one = 1;
var minus_one = -1;
var max_int = 2147483647;
var min_int = -2147483648;
exports.zero = zero;
exports.one = one;
exports.minus_one = minus_one;
exports.succ = succ;
exports.pred = pred;
exports.abs = abs;
exports.max_int = max_int;
exports.min_int = min_int;
exports.lognot = lognot;
exports.of_string_opt = of_string_opt;
exports.to_string = to_string;
exports.compare = compare;
exports.equal = equal;
/* No side effect */