From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6989 invoked by alias); 5 Dec 2002 19:19:59 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 6955 invoked by uid 61); 5 Dec 2002 19:19:59 -0000 Date: Thu, 05 Dec 2002 11:19:00 -0000 Message-ID: <20021205191958.6953.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, joeytsai@yahoo.com, nobody@gcc.gnu.org From: bangerth@dealii.org Reply-To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, joeytsai@yahoo.com, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: c/8825: optimization causes incorrect math X-SW-Source: 2002-12/txt/msg00290.txt.bz2 List-Id: Synopsis: optimization causes incorrect math State-Changed-From-To: open->closed State-Changed-By: bangerth State-Changed-When: Thu Dec 5 11:19:58 2002 State-Changed-Why: You don't want to use point.x = (int) move.x; but want to round it to the next integer. With optimization, move.x is about 6e-16 smaller than 112, without it is equal to 112 (which is actually representable exactly as a floating point number). Such differences at the level of round-off are to be expected with optimization. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8825