This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gfortran] I/O of large integer and real kinds, round 2

On Thu, Jun 09, 2005 at 12:50:04AM +0200, FX Coudert wrote:
> >Built, tested and regtested on:
> >   - i686-linux, which has real(10)
> >   - i386-freebsd
> >   - sparc-solaris, which has real(16)
> >   - x86_64-linux, which has real(10) and integer(16)
> >   - alpha-linux, which has integer(16)
> >
> >OK for mainline? (and should it be backported to 4.0, too?)
> Tobias told me I sent a barely readable patch with no context around my 
> changes. Sorry for the inconvenience (and then, how many times a week do 
> I say "sorry" on this list? it's high time to upgrade my brain).

FX, I think that this patch is ok with the exception of
your implementation of log10l().  I don't understand how
your regression tests where able to pass when there is
no provision for small numbers.  In particular, tiny(1._10)
is something like 3e-4391.  The current implementation of
of log10l() will call log10() with 3e-4391.  On FreeBSD,
this isn't a Good Thing.

I've attached an alternative implementation of log10l()
that permits amd64-*-freebsd to pass the regression tests.
Note, to accommondate the corner case of huge(1._10) I
had to reduce the integers proposed by rth by 1.  I likewise
increased the integers for tiny(1._10) by 1.


Attachment: c99_functions.c.diff
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]