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=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 16548BC0B for ; Tue, 21 Nov 2006 20:57:00 +0100 (CET) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.187]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id kALJuxYN017904 for ; Tue, 21 Nov 2006 20:56:59 +0100 Received: from [217.83.156.233] (helo=st11) by mrelayeu.kundenserver.de (node=mrelayeu6) with ESMTP (Nemesis), id 0ML29c-1Gmbjj2Hzh-00009r; Tue, 21 Nov 2006 20:56:55 +0100 Received: from [127.0.0.1] (localhost [127.0.0.1]) by st11 (Postfix) with ESMTP id 7AAB929E93; Tue, 21 Nov 2006 20:57:02 +0100 (CET) Message-ID: <45635A0E.5030308@bik-gmbh.de> Date: Tue, 21 Nov 2006 20:57:02 +0100 From: Florian Hars User-Agent: Thunderbird 1.5.0.8 (X11/20061115) MIME-Version: 1.0 To: Jon Harrop Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] reading/writing binary data References: <6aeedf580611210334p41d2ba00jcceb00da3af0e3d2@mail.gmail.com> <6aeedf580611210529k57456af5y5e321e0670c26fe0@mail.gmail.com> <90823c940611210556n2622d976j80c964cf9db9f9c1@mail.gmail.com> <200611211410.52422.jon@ffconsultancy.com> In-Reply-To: <200611211410.52422.jon@ffconsultancy.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: kundenserver.de abuse@kundenserver.de login:e41b7c94d40caefc4091cd96f6bfacb8 X-Miltered: at concorde with ID 45635A0B.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; hars:01 hars:01 bik-gmbh:01 hofs:01 endian:01 iter:01 byte:01 endian:01 iter:01 byte:01 caml-list:01 binary:01 binary:01 int:01 int:01 Jon Harrop schrieb: > I want to see those HOFs: > > let output_binary_int_little_endian ch n = > List.iter (fun i -> output_byte ch ((n lsr i) land 0xff)) [0; 8; 16; 24];; Why not go the whole way? let little_endian = [0; 8; 16; 24] let middle_endian = [16; 24; 0; 8] let big_endian = [24; 16; 8; 0] let output_binary_int endianness ch n = List.iter (fun i -> output_byte ch ((n lsr i) land 0xff)) endianness Now all we need is a PDP-11 port... Yours, Florian.