package wax-lib

  1. Overview
  2. Docs
Libraries for Wax, a Rust-like syntax for WebAssembly

Install

dune-project
 Dependency

Authors

Maintainers

Sources

wax-0.1.0.tbz
sha256=41b580846af8d41bdf6c3f005f62e38feda3e60fe2e9e4aa440db34ce515a153
sha512=4b3a181fcc7d743194a8647260870fb5190770066a197bcc48104c2b77fd40c643228b795c2bcd6b29a120820e969eb42a37a9bcec98b3f608d13f152d9f6579

doc/src/wax-lib.utils/uint64.ml.html

Source file uint64.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
type t = Int64.t

let of_string s =
  try
    if String.starts_with ~prefix:"0x" s then Int64.of_string s
    else Int64.of_string ("0u" ^ s)
  with Failure _ as e ->
    Format.eprintf "Unsigned int overflow: %s@." s;
    raise e

let to_string s = Printf.sprintf "%Lu" s
let of_int i = Int64.of_int i

(* Every caller must first bound the value so it is known to fit an OCaml [int]
   (see [.mli]): an unguarded call that overflows is a bug at the call site, not
   a condition to recover from here. *)
let to_int i =
  match Int64.unsigned_to_int i with Some i -> i | None -> assert false

let to_int64 i = i
let of_int64 i = i
let zero = 0L
let one = 1L
let compare = Int64.unsigned_compare