Date: Wed, 23 Dec 1998 14:50:15 +0000 (GMT) From: Doug Rabson <dfr@nlsystems.com> To: Bruce Evans <bde@zeta.org.au> Cc: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, dfr@FreeBSD.ORG Subject: Re: cvs commit: src/sys/alpha/alpha machdep.c sys_machdep.c src/sys/alpha/include alpha_cpu.h fpu.h ieeefp.h sysarch.h src/lib/libc/alpha SYS.h src/lib/libc/alpha/gen Makefile.inc fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c fpsetround.c ... Message-ID: <Pine.BSF.4.01.9812231447210.35745-100000@herring.nlsystems.com> In-Reply-To: <199812231431.BAA28606@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 24 Dec 1998, Bruce Evans wrote: > >> Applications should use the documented interface, which is > >> > >> #include <floatingpoint.h> > >> > >> We seem to have obtained this interface from Sun. AltaVista finds many > >> hits on <floatingpoint.h> in SunOS and Solaris man pages, e.g., > >> > >> http://www.sees.bangor.ac.uk/~bill/man/intro3.html > >> > >> It goes with <sys/ieeefp.h>, which we don't have (we had it in > >> FreeBSD.1.x, but I moved it to <machine/ieeefp.h> because it was > >> i386-specific :-). > >> > >> This interface should be superseded by the C9x <fenv.h> interface. > > > >I was following the NetBSD naming. If there is a standard interface to > >use this then then we should follow it and maybe deprecate > >ieeefp.h/floatingpoint.h or > > It is more screwed up than I thought. The Sun contents of the Sun > <floatingpoint.h> is nothing like ours. Precision masks bits seem > to be in Sun's <sys/ieeefp.h>, but they have different names, and > IIRC the function names are different too. Our function names are > found in HPUX and Intel (Paragon only?) man pages. HPUX apparently > declares them in <math.h> and Paragon apparently declares them in > <ieeefp.h>. Paragon seems to have the same interface as NetBSD. > > Better yet, all of the "i386" interfaces are incompatible with the > NetBSD/ Paragon ones, because the typedefs are spelled properly > (with a trailing _t) only for the i386 interfaces. Even rev.1.1 > in FreeBSD-1.x has the _t's. Fun.. > > <fenv.h> must be better than this even if no one has implemented it. > It has been implemented mainly by Apple according to AltaVista. > > Here is part of <fenv.h>: > > void fesetexceptflag(const fexcept_t *flagp, int excepts); > int fesetround(int round); > void fesetenv(const fenv_t *envp); Do you have any references for this interface? If it is part of a standard (or even a draft) then we should consider implementing it. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.01.9812231447210.35745-100000>