Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Using 16 bits integers
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-07-03 (18:22)
From: Brian Rogoff <bpr@b...>
Subject: Re: [Caml-list] Using 16 bits integers
>From the manual section on Bigarray:

Big arrays can only contain integers and floating-point numbers, while
Caml arrays can contain arbitrary Caml data types. However, big arrays
provide more space-efficient storage of integer and floating-point
elements, in particular because they support ``small'' types such as
single-precision floats and 8 and 16-bit integers, in addition to the
standard Caml types of double-precision floats and 32 and 64-bit integers. 


type int16_signed_elt
type int16_unsigned_elt

It's an interesting question in general as to what should be the basic
types of the language, should we have modular types, unicode characters, 
etc. I have similar issues in that a standard file format that I use a lot
specifies 32 bit integers and if I want to follow that exactly I need to
use the less performant int32 rather than the 31 bit int on 32 bit 
machines. Fortunately, that problem will be lessened when we enter the 
64 bit world. 

BTW, if you still find the need to go to C, you can use the Bigarray code 
as a template to start from so that you can link your C into OCaml.

-- Brian

On Tue, 3 Jul 2001 wrote:

> Hello, I'm just new to OCaml. I'm writing a program wich uses a lot of
> 16 bits operations, and writes them to a buffer. For writing into the
> buffer, it is needed for the data to be in 16 bits, not in 32 bits.
> Exactly, the program is like a sound synthesizer, so data cannot be send
> to sound card in 32 bits.
> My problem with OCaml is: how can I manage 16 bits data, and make
> operations with it? I had not seen any type in Ocaml with 16bits lenght
> (int is 32 bits in my machine). This will frustate my project if I do
> not find a solution, so I will use C if there is no other solution...
> but I would not like to do if I can avoid it, because I like very much
> Ocaml.
> I'm hopping your answers. Thanks.
> -------------------
> Bug reports:  FAQ:
> To unsubscribe, mail  Archives:

Bug reports:  FAQ:
To unsubscribe, mail  Archives: