From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 1FC615D5 for ; Wed, 15 Jun 2022 06:23:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=mime-version:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to: subject:reply-to:sender:list-id:list-help:list-subscribe: list-unsubscribe:list-post:list-owner:list-archive; bh=2GSdxkzf93z1c8BdxgsZX43PSvnxGhFZe+80cF0vrxI=; b=nb+wi8OaZ/NJnjvZSHddprNfCqmP8i5JFd9HAYcZ3XEoLI0796FUzdpM aoi864v5oBBZ6nXpJJOQevLKPMI7etiKZID9bNgZyTaUARDGYF5pSYkdj kYH0uAGOlOMyd6ulGoKDrPlwwIgiQ0rkE7Ypw5IqlCfzVdVwX/YnCCxMZ o=; Received-SPF: SoftFail (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr is inclined to not designate 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:192.134.164.0/24 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only Authentication-Results: mail2-relais-roc.national.inria.fr; spf=SoftFail smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr; dkim=hardfail (signature did not verify [final]) header.i=@mpi-sws.org X-IronPort-AV: E=Sophos;i="5.91,300,1647298800"; d="scan'208";a="41076097" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 15 Jun 2022 08:23:11 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id A7D14E0038; Wed, 15 Jun 2022 08:23:11 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 57111E0038 for ; Wed, 15 Jun 2022 08:23:07 +0200 (CEST) IronPort-SDR: m36t9Mq/8ahZKLJ5dEZOyFCQzqWtE7hBgWUSCh1bElqcfO/8K7N7G0RSi3pmqY0TOtUEq1PKbe eChz4Lg7oHgDRNl5YGIvVE9Vxev1eZm9xfXXZszgiOuvcRu3Ha4dWOGcf7HesdGGG31z1LniXE 9p/fFp1qZisyrXyFoeYLf+p//X/RpkjV2v95tLoMhyMgxEaV1iieiay0x14IUD3g91s5fXVmFo 9OwLV59fQCNcgaLEkrR4g0tGv+1ppZ+b4UK1rxSMBAEMtuIVeu4ErWoo+M7UQDASEP/nx3dTwj QHSWga0i7HXyAyZkby9osSlr X-IPAS-Result: =?us-ascii?q?A0AMAABZeqlimA9WE4taDgwBAQEBAQEBAQEBAwEBAQESA?= =?us-ascii?q?QEBAQICAQEBAUCBT4IkgVgtBAtEhE6JAIVngiieZwsBAwENPwECBAEBhQICh?= =?us-ascii?q?UcCHQcBBDQTAQIEAQEBAQMCAwEBAQEBAQMBAQUBAQECAQECBAQBEwEBAQEBA?= =?us-ascii?q?QEBCQsJBwYMBRAOBTxkZAOBTAOBegYEMA2CNSkBg2MBAQEBAgEjHQEBMQYBB?= =?us-ascii?q?AsLDAwCAhgOAgJXBhOCfYJ2IwMErGB6gTGBAYIIAQEGgl2FCAmBESyKVYQeJ?= =?us-ascii?q?xyCDYEVJwwQgmc+hESDVjeCLphzOQMJBAcFLjQSgSFxAQgGBgcKBTIGAgwYF?= =?us-ascii?q?AQCExJTCxICEgwKHA4ORhkMDwMSAxEBBwILEggVLAgDAgMIAwIDIwsCAxcJB?= =?us-ascii?q?woDHQgKHBIQFAIEEx4LCAMZHywJAgQOA0MICwoDEQQDExgLFggQBAYDCS8NK?= =?us-ascii?q?AsDFA0BBgMGAgUFAQMgAxQDBRsMBwMhBwsmDQ0EHAcdAwMFJgMCAhsHAgIDA?= =?us-ascii?q?gYXBgICQC8KJg0IBAgEHB0kEAUCBzEFBC8CHgQFBhEJAhYCBgQFAgQEFgICE?= =?us-ascii?q?ggCCCcbBxY2GQEFXQYLCSEcKQsGBQYWAyNzBQdBDyk1NjwvIRsKgSAGIgEcn?= =?us-ascii?q?R7CXoNYhBicK5ZhBpF5LZY/oiBFAYRNgXiBfk0wCDsqAYI9PhABAgECDQECA?= =?us-ascii?q?gMBAgECAQgBAQIBjhwZiG2FBUdAMzsCBgEKAQEDCYVGAQEBiTQBAQ?= IronPort-PHdr: A9a23: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 IronPort-Data: A9a23:TQgNjay68sgF28vyO956t+fYwCrEfRIJ4+MujC+fZmUNrF6WrkVUm DYaXW6Hb/mNM2Cmfd93b9+18EoEv5bWzN9rSVZqrFhgHilAwSbnLYTAfx2oZ0t+DeWaERk5t 51GAjXkBJppJpMJjk71atANlVEliefQAOCU5NfsYkidfyc9IMsaoU8lyrdRbrJA24DjWVvT4 I+q+KUzBXf8s9JKGjJMg068gEg31BjCkGtwUosWOJinFHeH/5UkJMp3yZOZdxMUcaEIdgKOf Nsv+Znilo/vE7jBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XOdJEAXq7hQllkPgtz PNwrb65dj0CN7fKtfkmYStzKGZHaPguFL/veRBTsOSR0lXHb3b2hfB2DQQ1OZYSvONvDidC+ JT0KhhUNUHF3rPwkOz9E7QEascLdKEHOKsFvWp7xzzDAt4jWZGGWLrRo9hC01/cg+gXQ6mPP pJHM1KDajzYTQdoGmxPCqtgs+TxhEWmfzpehVOs8P9fD2/7llUqieO9YbI5YOeiTsxQmgOcp 3na13/oBwkTct2Z0zuMtHy27tIjhgv5RZoTCLCisPtygRiQwncZThgOWh23rJFVl3JSRfoDL 2op4ggnkpIZ/VatY8TGbS+Tmzm960t0t8VrL8U27wSEy6zx6gmfB3QZQjMpVDDAnJNnLdDN/ gHQ9+4FFQCDo5XIECjMp+z8QSeaaHREdDdqiTosF1Ndi+QPtr3fmTrjY75e/EOdjMDtGC392 XaPtCl7hLEIh4gOz6r98V2vb9OQSnrhEVRdCub/Bz/NAuZFiGiNPNTABb/zsaooEWphZgPd1 EXoYuDHhAz0MbmDlTaWXMIGF6yz6vCOPVX02AAyQsN6rmj3pSDyJ+i8BQ2Swm83ba7onhe2O yfuVf95vsIIVJdXRf8vO9PtVJ5CIVbISIm6B6+8giVyjmhZLlbcpXo+NCZ8LkjhnVUwiqo/N IzTf8G2Fn0aFKJo1zy7W/V17FPY7n9W+I8nfriil07P+ePHPBa9EO5VWHPTMLxRxP7a8W39r oYOX+PXmk43eLCvPUH/r9VJRXhUdidTOHwDg5ENHgJ1ClA4SDhJ5j646e5JRrGJaIwMy7qUo SDsBREJoLc97FWeQTi3hrlYQOuHdf5CQbgTZETA5H6khCouZ5iB9qAae8dldLUr7rU6n/tsT rweZN7GBe5AE2yV9zMYZJj7jYpjaBXy3FjUZ3P/Omdjcs4yXRHN9//lYhDrqHsEAB2xuJZsu LanzA7aHccOSl06XsbbYf6i1X2run0ZlL4gVkfEOIAKKkD08c1xNDe3ieU4epleJRLGzzqc9 gCXHRZB/LOX+9ZvqoaViPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY2X5pfe5b uJPwvCgbfAKkQoYs4d4FLo3n6sy68G1/O1Y0xxlAHjRKVGzC/ZjJmKMm8xXuetBy+YB6wexX 0uO/PhcOKmIYZ+0TgROeVB9NunTh+sJnjTy7OguJBuo7iFA/I2YDxdYMS6MvypQceluO4Q/z OZ85sNPs16jigAnO8qthzxP8zjeNWQJVqgq6sMADInwhlZ5w11Oe8aHWC3r+JCTZs8KN1ErZ zyQn6CEgqxTgEbPKiJhGX/I1OtbpJIPpBETkA5cfQvUwIKdi69lxgBV/BQ2Uh9RkEdN3dVzD Xc1ZUd7EqW5+To11tNIWHqhGlwfCUTBqFDx0VYAiEbQU1KsCj7WNGQ4NOuAlKzDH7mwotSPE HCkJGfZvfLCftzp3zc/Qwhgs/2mTthq/EvHgM/hE8nt81zWp9b6qvfGWIbKg0KP7QANaInvo PFruf1vcuv8LyF4T2gTFdyBzbpJIPybDDUqfByilZ/l2UnZYDD3wieVbUerdauh4hAMHVCQU 6RTGy6Ea/hyOOtiYNzW6W7g7oKYRMIU2ec= IronPort-HdrOrdr: A9a23:TxkKWqtYKo7sZx57UrfsaM5p7skDttV00zEX/kB9WHVpmwKj5q KTdZMgpHrJYVcqNE3I/OrqBEDuewK+yXcY2+gs1PKZPDUOxlHYSL2KnLGM/9SIIUSXnINgPO VbAs9D4bbLY2SS4/yKhjVQa+xQueWvweSSv97361ooZglwApsQlTtRO0KhKHRfYCQDPpYhEo GAj/A33AaISDAtVP2SIlRAZeLEvNGjruOfXSI7 X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.91,300,1647298800"; d="scan'208";a="16791062" X-MGA-submission: =?us-ascii?q?MDHssnw7T57UqBFMf7LdzQb14WJ6eg9eEXlRXe?= =?us-ascii?q?yJGM6lxcbe9It6m+vZje9mhCPBHp1rikP83LnHRPKXVBrRrw5TJdW/yY?= =?us-ascii?q?dTF3o5eCyzQ7jft3yTJVM9lOU4m5sqUT2TKcsBg1GxURWd1d4oIBxS5f?= =?us-ascii?q?Bt3EfqIYaj/f0djMqXHWALWg=3D=3D?= Received: from jupiter.mpi-klsb.mpg.de ([139.19.86.15]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2022 08:23:07 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mpi-sws.org ; s=mail201904; h=To:References:Message-Id:Content-Transfer-Encoding:Cc:Date: In-Reply-To:From:Subject:Mime-Version:Content-Type:sender:reply-to:content-id :content-description:resent-date:resent-from:resent-sender:resent-to: resent-cc:resent-message-id:list-id:list-help:list-unsubscribe:list-subscribe :list-post:list-owner:list-archive; bh=2GSdxkzf93z1c8BdxgsZX43PSvnxGhFZe+80cF0vrxI=; b=QBcFtwNI2IfdG5MTLYuZCT4L4J daBm7HryDNCBDEix3IO6DCg3FYDGUWt8BTNeRTLx+C2hDYoBNJedkuPFbCzSaXjV59nIZ2KozsZgS n+ca83Fr8S5v3uvhqHlcG8ck2gZZIkwNqyAHBVPqDz3163vEELVMZvMzXZdMHM4kiXRc=; Received: from srv-00-62.mpi-klsb.mpg.de ([139.19.86.27]:36704 helo=max.mpi-klsb.mpg.de) by jupiter.mpi-klsb.mpg.de (envelope-from ) with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) id 1o1MQa-0000aP-3c; Wed, 15 Jun 2022 08:23:02 +0200 Received: from [84.247.59.22] (port=56661 helo=smtpclient.apple) by max (envelope-from ) with esmtpsa (TLS1.2:ECDHE_SECP256R1__RSA_SHA256__AES_256_GCM:256) (Exim 4.94.2) id 1o1MQZ-00FjPM-Cb; Wed, 15 Jun 2022 08:22:55 +0200 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\)) From: Andreas Rossberg In-Reply-To: Date: Wed, 15 Jun 2022 08:22:53 +0200 Cc: caml-list@inria.fr Content-Transfer-Encoding: quoted-printable Message-Id: <43238522-BFA7-4F89-8F91-9D95893A9D74@mpi-sws.org> References: To: Kenichi Asai X-Mailer: Apple Mail (2.3696.80.82.1.1) X-RSPAMD-Score: 0.4 (/) X-RSPAMD-Report: Action: no action Symbol: ARC_NA(0.00) Symbol: RCVD_VIA_SMTP_AUTH(0.00) Symbol: MID_RHS_MATCH_FROM(0.00) Symbol: R_SPF_NEUTRAL(0.00) Symbol: FROM_HAS_DN(0.00) Symbol: MV_CASE(0.50) Symbol: TO_MATCH_ENVRCPT_ALL(0.00) Symbol: MIME_GOOD(-0.10) Symbol: DMARC_NA(0.00) Symbol: TO_DN_SOME(0.00) Symbol: RCPT_COUNT_TWO(0.00) Symbol: NEURAL_HAM(-0.00) Symbol: FROM_EQ_ENVFROM(0.00) Symbol: R_DKIM_NA(0.00) Symbol: MIME_TRACE(0.00) Symbol: ASN(0.00) Symbol: RCVD_COUNT_TWO(0.00) Symbol: RCVD_TLS_ALL(0.00) Message-ID: 43238522-BFA7-4F89-8F91-9D95893A9D74@mpi-sws.org X-RSPAMD-Bar: / Subject: Re: [Caml-list] string_of_float (0.1 +. 0.2) Reply-To: Andreas Rossberg X-Loop: caml-list@inria.fr X-Sequence: 18794 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: You can use sprintf, which allows you to specify a precision: # Printf.sprintf "%g" (0.1 +. 0.2);; - : string =3D "0.3" # Printf.sprintf "%.16g" (0.1 +. 0.2);; - : string =3D "0.3" # Printf.sprintf "%.18g" (0.1 +. 0.2);; - : string =3D "0.300000000000000044" # Printf.sprintf "%.24g" (0.1 +. 0.2);; - : string =3D =E2=80=9C0.300000000000000044408921=E2=80=9D The OCaml manual does not say what the default is, but it appears to be = .6 for printf (like in C), while string_of_float is equivalent to = (sprintf "%.12g=E2=80=9D) and the REPL uses .18 (which is the maximum = meaningful decimal precision for 64 bit floats): # Printf.sprintf "%g" 0.1234567890123456789;; - : string =3D "0.123457" # string_of_float 0.123456789012345678;; - : string =3D =E2=80=9C0.123456789012=E2=80=9D # 0.1234567890123456789;; - : float =3D 0.123456789012345677 /Andreas > On 15. 6. 2022, at 03:59, Kenichi Asai wrote: >=20 > On OCaml 4.12.0 on M1 mac, I got: >=20 > # 0.1 +. 0.2;; > - : float =3D 0.300000000000000044 > # string_of_float (0.1 +. 0.2);; > - : string =3D "0.3" >=20 > Why don't I obtain "0.300000000000000044" here? >=20 > Here is some background. I am writing an OCaml interpreter that > mimics most part of the original OCaml interpreter. In the OCaml > interpreter, 0.1 and 0.2 are represented as >=20 > Pexp_constant (Pconst_float ("0.1", None)) > Pexp_constant (Pconst_float ("0.2", None)) >=20 > When I add these two numbers, I would have to execute >=20 > let a =3D float_of_string "0.1" > let b =3D float_of_string "0.2" > let c =3D a +. b > let d =3D string_of_float c >=20 > and then return >=20 > Pexp_constant (Pconst_float (d, None)) >=20 > At this point, however, since d is "0.3" instead of > "0.300000000000000044" (even though c is 0.300000000000000044), I > cannot return 0.300000000000000044 as a result. How can I mimic the > OCaml behavior? >=20 > Sincerely, >=20 > --=20 > Kenichi Asai