UNPKG

bs-platform

Version:

bucklescript compiler, ocaml standard libary by bucklescript and its required runtime support

103 lines (87 loc) 1.93 kB
'use strict'; var Caml_int64 = require("./caml_int64.js"); var Caml_format = require("./caml_format.js"); var Caml_js_exceptions = require("./caml_js_exceptions.js"); var Caml_builtin_exceptions = require("./caml_builtin_exceptions.js"); function succ(n) { return Caml_int64.add(n, /* int64 */[ /* hi */0, /* lo */1 ]); } function pred(n) { return Caml_int64.sub(n, /* int64 */[ /* hi */0, /* lo */1 ]); } function abs(n) { if (Caml_int64.ge(n, /* int64 */[ /* hi */0, /* lo */0 ])) { return n; } else { return Caml_int64.neg(n); } } function lognot(n) { return Caml_int64.xor(n, /* int64 */[ /* hi */-1, /* lo */4294967295 ]); } function to_string(n) { return Caml_format.caml_int64_format("%d", n); } function of_string_opt(s) { try { return Caml_format.caml_int64_of_string(s); } catch (raw_exn){ var exn = Caml_js_exceptions.internalToOCamlException(raw_exn); if (exn[0] === Caml_builtin_exceptions.failure) { return ; } else { throw exn; } } } var compare = Caml_int64.compare; function equal(x, y) { return Caml_int64.compare(x, y) === 0; } var zero = /* int64 */[ /* hi */0, /* lo */0 ]; var one = /* int64 */[ /* hi */0, /* lo */1 ]; var minus_one = /* int64 */[ /* hi */-1, /* lo */4294967295 ]; var max_int = /* int64 */[ /* hi */2147483647, /* lo */4294967295 ]; var min_int = /* int64 */[ /* hi */-2147483648, /* lo */0 ]; 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 */