Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Aug 2012 07:29:12 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Stephen Montgomery-Smith <stephen@missouri.edu>
Cc:        freebsd-numerics@freebsd.org, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: Complex arg-trig functions
Message-ID:  <20120814072345.E5260@besplex.bde.org>
In-Reply-To: <50296558.8060909@missouri.edu>
References:  <5017111E.6060003@missouri.edu> <501C361D.4010807@missouri.edu> <20120804165555.X1231@besplex.bde.org> <501D51D7.1020101@missouri.edu> <20120805030609.R3101@besplex.bde.org> <501D9C36.2040207@missouri.edu> <20120805175106.X3574@besplex.bde.org> <501EC015.3000808@missouri.edu> <20120805191954.GA50379@troutmask.apl.washington.edu> <20120807205725.GA10572@server.rulingia.com> <20120809025220.N4114@besplex.bde.org> <5027F07E.9060409@missouri.edu> <20120814003614.H3692@besplex.bde.org> <50296558.8060909@missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Mon, 13 Aug 2012, Stephen Montgomery-Smith wrote:

> Can you post the two files fpmath.h and local.h that are needed to build your 
> cplex.c?

fpmath.h is in libc and needs a couple of -I paths to reach.

local.h just declares everything theat might not be in math.h.  Attached.

You will have to fake log*l() or not compile clogl().

I don't like the combinatoral explosion in the number of interfaces,
but wanted to keep local.h readable.  cplex.c uses macros to avoid
repetition, but this is painful for debugging compared with a previous
version.

Bruce
[-- Attachment #2 --]
long double expl(long double);
long double expm1l(long double);
long double logl(long double);
long double log10l(long double);
long double log1pl(long double);
long double log2l(long double);

#ifdef _COMPLEX_H
double complex	ccos(double complex);
float complex	ccosf(float complex);
double complex	ccosh(double complex);
float complex	ccoshf(float complex);
double complex	cexp(double complex);
float complex	cexpf(float complex);
double complex	csin(double complex);
float complex	csinf(float complex);
double complex	csinh(double complex);
float complex	csinhf(float complex);
double complex	ctan(double complex);
float complex	ctanf(float complex);
double complex	ctanh(double complex);
float complex	ctanhf(float complex);
#endif

#ifdef _COMPLEX_H
double complex	casin(double complex);
double complex	casinh(double complex);
double complex	cacosh(double complex);
double complex	cacos(double complex);
double complex	catan(double complex);
double complex	catanh(double complex);
double complex	clog(double complex);

float complex	casinf(float complex);
float complex	casinhf(float complex);
float complex	cacoshf(float complex);
float complex	cacosf(float complex);
float complex	catanf(float complex);
float complex	catanhf(float complex);
float complex	clogf(float complex);

long double complex	casinl(long double complex);
long double complex	casinhl(long double complex);
long double complex	cacoshl(long double complex);
long double complex	cacosl(long double complex);
long double complex	catanl(long double complex);
long double complex	catanhl(long double complex);
long double complex	clogl(long double complex);
#endif

double	rcacos(double, double);
double	rcacosh(double, double);
double	rcasin(double, double);
double	rcasinh(double, double);
double	rcatan(double, double);
double	rcatanh(double, double);
double	rclog(double, double);

float	rcacosf(float, float);
float	rcacoshf(float, float);
float	rcasinf(float, float);
float	rcasinhf(float, float);
float	rcatanf(float, float);
float	rcatanhf(float, float);
float	rclogf(float, float);

long double	rcacosl(long double, long double);
long double	rcacoshl(long double, long double);
long double	rcasinl(long double, long double);
long double	rcasinhl(long double, long double);
long double	rcatanl(long double, long double);
long double	rcatanhl(long double, long double);
long double	rclogl(long double, long double);

double	icacos(double, double);
double	icacosh(double, double);
double	icasin(double, double);
double	icasinh(double, double);
double	icatan(double, double);
double	icatanh(double, double);
double	iclog(double, double);

float	icacosf(float, float);
float	icacoshf(float, float);
float	icasinf(float, float);
float	icasinhf(float, float);
float	icatanf(float, float);
float	icatanhf(float, float);
float	iclogf(float, float);

long double	icacosl(long double, long double);
long double	icacoshl(long double, long double);
long double	icasinl(long double, long double);
long double	icasinhl(long double, long double);
long double	icatanl(long double, long double);
long double	icatanhl(long double, long double);
long double	iclogl(long double, long double);

double	rcsqrt(double, double);
float	rcsqrtf(float, float);
long double	rcsqrtl(long double, long double);

double	rccos(double, double);
float	rccosf(float, float);
double	rccosh(double, double);
float	rccoshf(float, float);
double	rcexp(double, double);
float	rcexpf(float, float);
double	rcsin(double, double);
float	rcsinf(float, float);
double	rcsinh(double, double);
float	rcsinhf(float, float);
double	rctan(double, double);
float	rctanf(float, float);
double	rctanh(double, double);
float	rctanhf(float, float);

double	icsqrt(double, double);
float	icsqrtf(float, float);
long double	icsqrtl(long double, long double);

double	iccos(double, double);
float	iccosf(float, float);
double	iccosh(double, double);
float	iccoshf(float, float);
double	icexp(double, double);
float	icexpf(float, float);
double	icsin(double, double);
float	icsinf(float, float);
double	icsinh(double, double);
float	icsinhf(float, float);
double	ictan(double, double);
float	ictanf(float, float);
double	ictanh(double, double);
float	ictanhf(float, float);

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120814072345.E5260>