package optint

  1. Overview
  2. Docs
Abstract type on integer between x64 and x86 architecture

Install

Dune Dependency

Authors

Maintainers

Sources

optint-v0.0.2.tbz
sha256=81277e25c66088783e975f3ecb26e141331a224a11533d922f20cfcabc3dabd2
md5=c074a4cc9ab3cbec89773bd67c1a956f

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.

Published: 16 Oct 2018

README

Optint - Abstract type on integer between x64 and x86 architecture

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.

Dependencies (2)

  1. dune
  2. ocaml >= "4.03.0" & < "5.0"

Dev Dependencies

None

Used by (8)

  1. checkseum < "0.1.1"
  2. decompress >= "0.8" & < "1.0.0"
  3. git >= "3.0.0"
  4. mirage-kv-mem >= "3.2.1"
  5. mirage-kv-unix >= "3.0.0"
  6. octez-internal-libs
  7. rfc1951 < "1.0.0" | >= "1.4.0"
  8. tar-mirage >= "2.3.0"

Conflicts

None

OCaml

Innovation. Community. Security.