From f95a4a932476be2ba99e2fd081e8d2bc6ea12813 Mon Sep 17 00:00:00 2001
From: PikalaxALT <pikalaxalt@gmail.com>
Date: Fri, 15 Dec 2017 09:38:53 -0500
Subject: Import newlib and create makefile

---
 newlib/libm/mathfp/mathfp.tex | 199 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 199 insertions(+)
 create mode 100644 newlib/libm/mathfp/mathfp.tex

(limited to 'newlib/libm/mathfp/mathfp.tex')

diff --git a/newlib/libm/mathfp/mathfp.tex b/newlib/libm/mathfp/mathfp.tex
new file mode 100644
index 0000000..e7f897a
--- /dev/null
+++ b/newlib/libm/mathfp/mathfp.tex
@@ -0,0 +1,199 @@
+@node Math
+@chapter Mathematical Functions (@file{math.h})
+
+This chapter groups a wide variety of mathematical functions.  The
+corresponding definitions and declarations are in @file{math.h}.  
+Two definitions from @file{math.h} are of particular interest.  
+
+@enumerate
+@item
+The representation of infinity as a @code{double} is defined as
+@code{HUGE_VAL}; this number is returned on overflow by many functions.
+
+@item
+The structure @code{exception} is used when you write customized error
+handlers for the mathematical functions.  You can customize error
+handling for most of these functions by defining your own version of
+@code{matherr}; see the section on @code{matherr} for details.
+@end enumerate
+
+@cindex system calls
+@cindex support subroutines
+@cindex stubs
+@cindex OS stubs
+Since the error handling code calls @code{fputs}, the mathematical
+subroutines require stubs or minimal implementations for the same list
+of OS subroutines as @code{fputs}: @code{close}, @code{fstat},
+@code{isatty}, @code{lseek}, @code{read}, @code{sbrk}, @code{write}.
+@xref{syscalls,,System Calls, libc.info, The Cygnus C Support Library},
+for a discussion and for sample minimal implementations of these support
+subroutines.
+
+Alternative declarations of the mathematical functions, which exploit
+specific machine capabilities to operate faster---but generally have
+less error checking and may reflect additional limitations on some
+machines---are available when you include @file{fastmath.h} instead of
+@file{math.h}.
+
+@menu 
+* version::	Version of library
+* acos::	Arccosine
+* acosh::	Inverse hyperbolic cosine
+* asin::	Arcsine
+* asinh::	Inverse hyperbolic sine
+* atan::	Arctangent
+* atan2::	Arctangent of y/x
+* atanh::	Inverse hyperbolic tangent
+* jN::	        Bessel functions  (jN, yN)
+* cbrt::	Cube root
+* copysign::	Sign of Y, magnitude of X
+* cosh::	Hyperbolic cosine
+* erf::		Error function  (erf, erfc)
+* exp::		Exponential
+* expm1::	Exponential of x, - 1
+* fabs::	Absolute value (magnitude)
+* floor::	Floor and ceiling  (floor, ceil)
+* fmod::	Floating-point remainder (modulo)
+* frexp::	Split floating-point number
+* gamma::	Logarithmic gamma function
+* hypot::	Distance from origin
+* ilogb::	Get exponent
+* infinity::	Floating infinity
+* isnan::	Check type of number
+* ldexp::	Load exponent
+* log::		Natural logarithms
+* log10::	Base 10 logarithms
+* log1p::	Log of 1 + X
+* matherr::	Modifiable math error handler
+* modf::	Split fractional and integer parts
+* nan::		Floating Not a Number
+* nextafter::	Get next representable number
+* pow::		X to the power Y
+* remainder::	remainder of X divided by Y 
+* scalbn::	scalbn
+* sin::		Sine or cosine (sin, cos)
+* sinh::	Hyperbolic sine
+* sqrt::	Positive square root
+* tan::		Tangent
+* tanh::	Hyperbolic tangent
+@end menu
+
+@page
+@node version
+@section Version of library
+
+There are four different versions of the math library routines: IEEE,
+POSIX, X/Open, or SVID.  The version may be selected at runtime by
+setting the global variable @code{_LIB_VERSION}, defined in
+@file{math.h}.  It may be set to one of the following constants defined
+in @file{math.h}: @code{_IEEE_}, @code{_POSIX_}, @code{_XOPEN_}, or
+@code{_SVID_}.  The @code{_LIB_VERSION} variable is not specific to any
+thread, and changing it will affect all threads.
+
+The versions of the library differ only in how errors are handled.
+
+In IEEE mode, the @code{matherr} function is never called, no warning
+messages are printed, and @code{errno} is never set.
+
+In POSIX mode, @code{errno} is set correctly, but the @code{matherr}
+function is never called and no warning messages are printed.
+
+In X/Open mode, @code{errno} is set correctly, and @code{matherr} is
+called, but warning message are not printed.
+
+In SVID mode, functions which overflow return 3.40282346638528860e+38,
+the maximum single precision floating point value, rather than infinity.
+Also, @code{errno} is set correctly, @code{matherr} is called, and, if
+@code{matherr} returns 0, warning messages are printed for some errors.
+For example, by default @samp{log(-1.0)} writes this message on standard
+error output:
+
+@example
+log: DOMAIN error
+@end example
+
+The library is set to X/Open mode by default.
+
+@page
+@include mathfp/sacos.def
+
+@page
+@include mathfp/eacosh.def
+
+@page
+@include mathfp/sasine.def
+
+@page
+@include mathfp/sasinh.def
+
+@page
+@include mathfp/satan.def
+
+@page
+@include mathfp/satan2.def
+
+@page
+@include mathfp/eatanh.def
+
+@page
+@include mathfp/wjn.def
+
+@page
+@include mathfp/scosh.def
+
+@page
+@include mathfp/serf.def
+
+@page
+@include mathfp/sexp.def
+
+@page
+@include mathfp/sfabs.def
+
+@page
+@include mathfp/sfloor.def
+
+@page
+@include mathfp/sfmod.def
+
+@page
+@include mathfp/sfrexp.def
+
+@page
+@include mathfp/erlgamma.def
+
+@page
+@include mathfp/ehypot.def
+
+@page
+@include mathfp/sisnan.def
+
+@page
+@include mathfp/sldexp.def
+
+@page
+@include mathfp/slogarithm.def
+
+@page
+@include mathfp/slog10.def
+
+@page
+@include mathfp/spow.def
+
+@page
+@include mathfp/eremainder.def
+
+@page
+@include mathfp/ssqrt.def
+
+@page
+@include mathfp/ssine.def
+
+@page
+@include mathfp/ssineh.def
+
+@page
+@include mathfp/stan.def
+
+@page
+@include mathfp/stanh.def
-- 
cgit v1.2.3

