package optint

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

Install

Dune Dependency

Authors

Maintainers

Sources

optint-0.0.1.tbz
md5=545d9c6b5b32fb0d8c3f671519a8a088

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: 29 Jun 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. jbuilder >= "1.0+beta10"
  2. ocaml >= "4.03.0"

Dev Dependencies

None

Used by (6)

  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. rfc1951 < "1.0.0" | >= "1.4.0"
  6. tar-mirage >= "2.3.0"

Conflicts

None