This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
Re: V3 PATCH: IRIX configuration
Mark Mitchell <mark@codesourcery.com> writes:
| >>>>> "Gabriel" == Gabriel Dos Reis <gdr@codesourcery.com> writes:
|
| Gabriel> But it is true that there places (if I recall correctly)
| Gabriel> where we're computing with double instead of long double
| Gabriel> for a long double input precision. That is wrong and we
| Gabriel> should fix it.
|
| That's what I was trying to say; I'm sorry I wasn't clear.
Well, I went to bed and everything you said is clear to me now :-)
Sorry for the confusion.
| ... I think
| `abs' is one of those places; it used `cabs' before (and my patch will
| change it to use `hypot'), but it seems like we should have an
| overloaded version of either `cabs' or `hypot' so that we don't
| compute in `double' precision.
The whole src/complex?.cc stuff is messy. I'll favor any patch that
will move those parts which can't work properly (actually nearly all
functions in src/complex.cc) into src/complexl.cc and using the
appropriate native functions where available. For example:
// src/complexl.cc
// assuming `cabsl' is defined by the hosting system.
lond double
abs(const complex<double>& __z)
{ return cabsl(__z._M_value); }
I don't think we should overload `cabs'.
-- Gaby
CodeSourcery, LLC http://www.codesourcery.com