From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 2AAD1BC48 for ; Mon, 11 Apr 2005 15:43:14 +0200 (CEST) Received: from will.iki.fi (will.iki.fi [217.169.64.20]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j3BDhDRw003291 for ; Mon, 11 Apr 2005 15:43:14 +0200 Received: from [10.0.20.56] (fa-3-0-0.fw.exomi.com [217.169.64.99]) by will.iki.fi (Postfix) with ESMTP id 63E89137; Mon, 11 Apr 2005 16:43:13 +0300 (EEST) Message-ID: <425A7EF0.40804@exomi.com> Date: Mon, 11 Apr 2005 16:43:12 +0300 From: Ville-Pertti Keinonen User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050401) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alan Falloon Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] float precision on AMD64 References: <2a1a1a0c0504091814876c24a@mail.gmail.com> <42588430.3060105@rftp.com> <425914C2.1010101@yahoo.fr> <4259157C.5090400@exomi.com> <42593B4D.2040601@yahoo.fr> <425927FE.606@exomi.com> <42594BED.8070301@yahoo.fr> <42593456.5050906@exomi.com> <425A7A7C.5010801@synopsys.com> In-Reply-To: <425A7A7C.5010801@synopsys.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 425A7EF1.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 integers:01 integers:01 wrote:01 floats:01 alan:01 float:03 float:03 anyhow:04 papers:05 ieee:08 actually:10 machines:10 point:11 point:11 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: Alan Falloon wrote: > If we assume IEEE floating point format, then they can be compared as > integers. See the section "Comparing using integers" in > http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm As the above link notes, since integers on most machines are twos-complement and not sign-magnitude, it doesn't work right for negative floats. Working around this isn't possible without knowing it's actually a float (in which case a floating point compare could just be used, anyhow).