delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/04/21/15:36:17

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Wed, 21 Apr 2010 21:35:50 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Cygwin Perl and -Duselongdouble
Message-ID: <20100421193550.GA25471@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <B762313E2F744EE8A72B2113F081D0D3 AT desktop2> <20070726121907 DOT GG19692 AT calimero DOT vinschen DOT de> <54421 DOT 64 DOT 81 DOT 167 DOT 122 DOT 1185478396 DOT squirrel AT webmail DOT efn DOT org> <4BCF501A DOT 7010809 AT x-ray DOT at>
MIME-Version: 1.0
In-Reply-To: <4BCF501A.7010809@x-ray.at>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Apr 21 21:20, Reini Urban wrote:
> Yitzchak Scott-Thoennes schrieb:
> >On Thu, July 26, 2007 5:19 am, Corinna Vinschen wrote:
> >>On Jul 26 22:09, Sisyphus wrote:
> >>>I'd like to have a perl on Cygwin built with -Duselongdouble, so I tried
> >
> >>>*** You requested the use of long doubles but you do not seem to have
> >>>*** the following mathematical functions needed for long double support:
> >>>  ***     sqrtl modfl frexpl
> >>
> >>Long double functions are not supported by newlib so far.  There are a
> >>couple of C99 functions not available in newlib.  Volunteers implementing
> >>these functions in a license compatible way (BSD, not GPL) in newlib are
> >>always welcome.
> >
> >Note that changing perl to use long doubles is a binary incompatible change.
> >So if anyone is going to jump on this, it would be nice to have it happen
> >before the already incompatible 5.10 is out Septemberish.
> >
> >modfl isn't strictly necessary; perl will substitute aintl (a solaris
> >flavor of truncl) + copysignl.
> >And ilogbl + scalbnl can be used to emulate frexpl.
> 
> I think I'll bite the bullet for the upcoming perl-5.12.0, for which
> I already have an API change (-Uusemymalloc) so adding
> -Duselongdouble can be easily added.
> 
> I dissected long doubles for my parrot pbc_compat work last year so
> I believe I can do modfl and frexpl without looking at GPL infected
> code.
> http://code.google.com/p/cygwin-rurban/source/browse/trunk/release/parrot/patches/r36819-tt308-more-pf_items.patch
> 
> sqrtl is trivial in intel assembler:
> 
> long double sqrtl(long double ld) {
>   long double _result;
>   asm ("fsqrt" : "=t" (_result) : "0"(ld));
>   return _result;
> }

Adding real long double support to newlib would be extremly cool.
If you look into http://cygwin.com/cygwin-api/std-notimpl.html you'll
notice that the majority of the unimplemented functions are math
functions, and most of them are the long double and the complex number
functions.

Basically:

> These questions are for newlib later:
> Can I keep such a newlib code to 12-byte intel long doubles or must
> I add 16-byte long double support also?
> Our gcc has -m128bit-long-double and the bastard -m96bit-long-double.

It's ok to add 12 byte intel only for now.  It's much better than no
long double at all.

> Does newlib needs papers?

No.  Just add a liberal copyright notice to all your files, 2-clause BSD
or similar is fine.

> I see a comment about --enable-newlib-hw-fp in
> /usr/include/machine/ieeefp.h
> I have no idea what this should be. Is there some hidden prior art?

No idea, sorry.  Better ask on the newlib list.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019