Re: Use of C99 extra long double math functions after r236148

From: Peter Jeremy <peter_at_rulingia.com>
Date: Tue, 29 May 2012 07:05:07 +1000
On 2012-May-28 11:01:24 -0500, Stephen Montgomery-Smith <stephen_at_missouri.edu> wrote:
>One thing that could be done is to have a "math/cephes" port that adds 
>the extra C99 math functions.  This is already done in the math/sage 
>port, using a rather clever patch due to Peter Jeremy, that applies to 
>the cephes code.
>
>What it would do is to create a /usr/local/lib/libm.so that would 
>provide the extra functions not currently included in /lib/libm.so, and 
>then link in /lib/libm.so as well.  It would also create its own 
>/usr/local/include/math.h and /usr/local/include/complex.h as well.

Basically, as long as the compiler searches /usr/local/{include,lib}
before the base include/lib then <math.h>, <complex.h> and -lm give
the application a complete C99 math implementation by using base
functions where they exist and cephes functions where they don't.

The patch I wrote for sage can be found at
http://trac.sagemath.org/sage_trac/ticket/9543
If there's any interest, I could produce a port for this.

Another option would be to import cephes into base and use it to
provide the missing C99 functions.  Cephes includes copyright notices
but the closest I can find to a license is:
"   Some software in this archive may be from the book _Methods and
 Programs for Mathematical Functions_ (Prentice-Hall or Simon & Schuster
 International, 1989) or from the Cephes Mathematical Library, a
 commercial product. In either event, it is copyrighted by the author.
 What you see here may be used freely but it comes with no support or
 guarantee."

-- 
Peter Jeremy

Received on Mon May 28 2012 - 19:36:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:27 UTC