opam-version: "2.0"
maintainer:   [ "romain.calascibetta@gmail.com" ]
authors:      "Romain Calascibetta"
license:      "ISC"
homepage:     "https://github.com/dinosaure/optint"
bug-reports:  "https://github.com/dinosaure/optint/issues"
dev-repo: "git+https://github.com/dinosaure/optint.git"
doc:          "https://dinosaure.github.io/optint/"

build: [
  ["jbuilder" "subst" "-p" name] {pinned}
  ["jbuilder" "build" "-p" name "-j" jobs]
  ["jbuilder" "runtest" "-p" name] {with-test}
]
depends: [
  "ocaml" {>= "4.03.0"}
  "jbuilder" {>= "1.0+beta10"}
]
synopsis: "Abstract type on integer between x64 and x86 architecture"
description: """
This library provide one module `Optint` which use internally an `int` if you
are in a x64 architecture or an `int32` (boxed value) if you are in a x86
architecture. This module is __really__ unsafe and does not care some details
(like the sign bit) for any cast.

## Goal

The main difference between an `int` and an `int32` is the second is boxed.
About performance this is not the best. However, you can not ensure to be in an
x64 architecture where you can use directly an `int` instead an `int32` (and
improve performance).

So, this library provide an abstraction about a real `int32`. In a x64
architecture, internally, we use a `int` and in a x86 architure, we use a
`int32`. By this way, we ensure to have in any platform 32 free bits in
`Optint.t`."""
url {
  src:
    "https://github.com/dinosaure/optint/releases/download/v0.0.1/optint-0.0.1.tbz"
  checksum: "md5=545d9c6b5b32fb0d8c3f671519a8a088"
}
