From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA17939 for caml-redistribution@pauillac.inria.fr; Tue, 22 Feb 2000 15:06:51 +0100 (MET) Resent-Message-Id: <200002221406.PAA17939@pauillac.inria.fr> Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA21122 for ; Tue, 22 Feb 2000 12:15:56 +0100 (MET) Received: from indigo.recherche.enac.fr (indigo.recherche.enac.fr [195.220.158.66]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id MAA08513 for ; Tue, 22 Feb 2000 12:15:54 +0100 (MET) Received: from rouge.recherche.enac.fr (root@rouge.recherche.enac.fr [195.220.158.70]) by indigo.recherche.enac.fr (8.8.6 (PHNE_14041)/8.6.11) with ESMTP id MAA13262 for ; Tue, 22 Feb 2000 12:15:54 +0100 (MET) Received: from recherche.enac.fr (alliot@localhost [127.0.0.1]) by rouge.recherche.enac.fr (8.9.3/8.6.11) with ESMTP id MAA12326 for ; Tue, 22 Feb 2000 12:15:53 +0100 X-Authentication-Warning: rouge.recherche.enac.fr: Host alliot@localhost [127.0.0.1] claimed to be recherche.enac.fr Sender: alliot@recherche.enac.fr Message-ID: <38B26FE9.BAA12AAE@recherche.enac.fr> Date: Tue, 22 Feb 2000 12:15:53 +0100 From: jean-marc alliot Organization: Laboratoire d'Optimisation Globale X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.12 i686) X-Accept-Language: fr-FR MIME-Version: 1.0 CC: caml-list@inria.fr Subject: Some questions about floatting point issues References: <20000211111749.34427@pauillac.inria.fr> <20000213073403Q.garrigue@kurims.kyoto-u.ac.jp> <38A7B721.172F585C@univ-savoie.fr> <20000215170653.54672@pauillac.inria.fr> <38AA8A8B.17558090@univ-savoie.fr> <20000218101403.40695@pauillac.inria.fr> <38B1A244.2B0F5832@maxtal.com.au> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Resent-From: weis@pauillac.inria.fr Resent-Date: Tue, 22 Feb 2000 15:06:51 +0100 Resent-To: caml-redistribution@pauillac.inria.fr Hi, We have developped an interval programming library in ML. We use it mainly for branch and bound optimization. The problem is that, to write a correct interval library, you have to use some processor specific features regarding rounding mode (you have to turn it to rounding towards minus infinity when computing lower bounds, towards plus infinity when computing upper bound, etc). I wrote the assembly language routines to do the trick, but I have a few questions: 1) What is the default mode turned on by ocaml (I suppose it is rounding towards nearest?) 2) Is this mode often reinforced (before each floatting point operation) or is it only set once? 3) Is it possible to tell ocamlopt to inline a few lines of assembly code? Changing the FPU mode is very fast (two "mov", one "and" and one "or") and it is a pity to suffer the overhead of one function call each time. Thanks Jean-Marc Alliot