From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id F1F18BBC4 for ; Sat, 7 Mar 2009 19:12:11 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAEdHsknVuiYS/2dsb2JhbADTBQeDfgY X-IronPort-AV: E=Sophos;i="4.38,319,1233529200"; d="scan'208";a="22198922" Received: from solaria.dimino.org ([213.186.38.18]) by mail2-smtp-roc.national.inria.fr with ESMTP; 07 Mar 2009 19:12:11 +0100 Received: from aurora (localhost.localdomain [127.0.0.1]) by solaria.dimino.org (Postfix) with ESMTP id 35FE58004C; Sat, 7 Mar 2009 19:12:11 +0100 (CET) Received: by aurora (Postfix, from userid 1000) id 0B6FC446FF; Sat, 7 Mar 2009 19:12:11 +0100 (CET) Subject: Re: [Caml-list] Parsing 64-bit ints in 32-bit OCaml From: =?ISO-8859-1?Q?J=E9r=E9mie?= Dimino To: Jon Harrop Cc: O'Caml Mailing List In-Reply-To: <200903071728.56418.jon@ffconsultancy.com> References: <200903071728.56418.jon@ffconsultancy.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sat, 07 Mar 2009 19:12:10 +0100 Message-Id: <1236449530.4154.13.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 X-Spam: no; 0.00; ocaml:01 overkill:01 elif:01 wrote:01 parsing:01 ints:01 caml-list:01 int:01 define:02 sys:03 workaround:03 let:03 size:95 size:95 variable:06 Jon Harrop wrote: > Is there a better workaround? A (maybe overkill) solution is to use optcomp [1]. What you have to do is to add word_size variable: Pa_optcomp.define "word_size" (Int Sys.word_size) Then you can write: let gcd3 =3D=20 #if word_size =3D 32 715827883 #elif word_size =3D 64 3074457345618258603 #else # error "unknown word size" #endif J=C3=A9r=C3=A9mie =20 [1] http://forge.ocamlcore.org/projects/optcomp/