delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/09/26/20:08:05

To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Second release of alternate math library
Date: Mon, 26 Sep 1994 11:42:27 -0700
From: "J.T. Conklin" <jtc AT cygnus DOT com>

The second release of my fdlibm-derived math library which I maintain
for NetBSD, FreeBSD, and now DJGPP is now available via anonymous ftp
from ftp.cygnus.com in ~/pub/jtc/djgpp.

"includes.zip" contains include/sys/cdefs.h, include/machine/asm.h,
and include/machine/endian.h.

include/sys/cdefs.h replaces the one distributed with djgpp 1.12, it
fixes the __P macro so it omits the prototype when compiling with
gcc's -traditional flag.  And it adds the __BEGIN_DECLS and
__END_DECLS macros used by *BSD.

include/machine/asm.h and include/machine/endian.h are new files,
derived from BSD.  include/machine/asm.h contains macros useful to
assembly language programming.  include/machine/endian.h contains byte
order constants constants.

The file libm001.zip is the library.  Unzip it in C:\DJGPP (or
wherever you have unpacked DJGPP) and make.  It installs itself as
libnewm.  You may want to copy this lib's math.h over djgpp's, but
that may not be necessary.


The major change in this version is that I've brought over the
assembly language versions of the functions from the *BSD version.
I've addressed most of the problems and sugestions that people have
mailed me (missing __infinity[], etc.).

This library should be about the same speed as the one distributed
with djgpp.  The primitive functions whose behavior is not affected by
any standard (sin, cos, tan) will be the same speed.  Functions like
sqrt will be negligably slower (a few cycles) because the out-of-range
and out-of-domain conditions are detected and handled according to the
current standard mode.  Some of the more complicated functions may
actually be faster, since some of the primitive operations are done by
bit manipulation instead of calculation.

In general, I'd call it a toss up: performance alone a poor reason to
favor one library over the other.


I call this version 0.01 since I still haven't had time to provide any
README files.  Also I didn't get a chance to fix <machine/asm.h> so
that _PROF_PROLOGUE emits the correct code when -DPROF is defined.
Don't expect execution profiles (of the assembly functions) to be
accurate until I get it fixed.  I should be able to finish those
things next weekend and release a new version early next week.

Let me know how you this version,

	--jtc


- Raw text -


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