This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] libm additions and corrections, 1 of 2


Attached is 1 part of a rather large patch related primarily to the math
library.  (The whole thing cannot be sent at once, as the sourcelib
mailer refuses emails >100kB.  This first patch file contains all of the
new files.)  It contains several categories of changes (which grew out
of
my initial intent of just providing #1):

1.  Add missing documentation for about 13 function families.
2.  Correct some errors that I noticed when I was in the files adding
the documentation.
3.  Add general-purpose implementations for llround() and llroundf().
4.  Add a "HOWTO" file that describes some of the things that I learned
while doing the docs that I did not find anywhere else.  (This is not
libm-specific.)
5.  A few updates to makedoc, all of which are compatible with all of
the existing documentation.
(I'll probably send a separate email later which highlights the doc
additions for the sake of those that don't read the details in this
patch.)
 
Full change log information is also attached.
 
I have built new PDF documentation with these changes, but not any other
flavor thereof.
 
All added or modified functions were spot-checked against RHEL5-supplied
(some GLIBC version) versions for return values.  (The spot checks being
at +-NAN, +-inf, +-0, and assorted other values of specific interest to
the routine in question.)
 
I believe that with the additions (see #3) the math library now contains
all C99-required double and float math.h functions; all that will be
missing after their addition is the entire set of functions that have
long double as either an argument or return type.
 
While I found an email thread in which Dave Korn had provided i386
versions of llround() and llroundf() (among others), I did not
investigate how they might need to be changed to account for the
addition
of the general-purpose ones.
 
Note that the libm changes are only in the common and math
subdirectories.
I purposely have not provided changes for anything under mathfp because
http://sourceware.org/ml/newlib/2007/msg01087.html says that mathfp
should be scrapped.  (Some of the changes in the math subdirectory would
have also applied to mathfp if not for abandoning it.)  Not only that,
but making docs in mathfp is currently broken, anyway, the breakage
apparently dating back to 2003.
 
The HOWTO file contains a section on EL/IX which I wrote on my own with
the results of web searching.  It needs Jeff's review, for certain.
 
I was not quite sure where to put the documentation for some of the
function-like macros that are defined in math.h, thinking that putting
it into math.h was probably undesirable.  I therefore made C files
for them in libm/common that contain only the documentation.
 
Note to Jeff:  this patch contains additions to math.h that are in
partial conflict with those in the outstanding patch that Ken Werner
sent in the "long double (was "strtold?")" email thread (file
longdouble.patch).  That patch adds only llround, and gates it with
__SPU__.
 
Craig

Attachment: mathdoc1.patch
Description: mathdoc1.patch

Attachment: ChangeLog.add
Description: ChangeLog.add


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]