Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Envelope-Sender: rschulz AT imaphost DOT inet DOT dkfz-heidelberg DOT de To: cygwin AT cygwin DOT com Subject: RE: 1.5.12: FPU affected by gethostname call Message-ID: <1109192877.421cf0ad8f456@webmail.inet.dkfz-heidelberg.de> Date: Wed, 23 Feb 2005 22:07:57 +0100 (CET) From: R DOT Schulz AT dkfz-heidelberg DOT de References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: IMP/PHP IMAP webmail program 2.2.8 Okay, sorry: the abs() function was defined as a template in the original code for historical reasons: template number abs(number) ... and so forth Changing to std::fabs() doesn't change anything in the behavior, however. At least now I know it's probably AMD FPU related. -Ralf > > Long doubles are 12 byte = 96 bit = sizeof(long double). No matter > whether > > stored in memory or in registers, they should have that length, no? > > Oh, that does turn out to be a recent change to gcc. Hmm. > > Then again, I can't reproduce the problem here. Maybe that's the AMD > vs > Intel difference you were wondering about. I've got a P4; same OS > version > as you though, XpSp1. It makes no difference if I have the call to > gethostname or not, and it makes no difference if I compile with or > without > optimisation. > > > In the original code, tolerance is set to 1e-19 instead of 5e-16 if > long > > doubles are available. In this case, the code calling gethostname() > goes > > into an infinite loop. > > That code is seriously buggy, isn't it? > > const long double tolerance = 5e-16; > long double p1, p2, p3; > > do > { > [details omitted] > } > while (abs(p1/pp) > tolerance); > ^^^^^^^^^^^^^^^^^^^^^^ > > I really think that ought to have been *f*abs, should it not? > > Heh. Why do people always think they can just ignore compiler > warnings? > > cheers, > DaveK -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/