Commit Graph

34 Commits

Author SHA1 Message Date
Keith Marshall 47140f3cdb Avoid precision errors in round(), lround() and llround() functions. 2008-06-03 18:42:21 +00:00
Chris Sutcliffe 4694cc18c2 2007-11-26 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Makefile.in: Add libmsvcr90.a and libmsvcr90d.a targets.
        * msvcrt.def.in: Add support for __msvcr90__ and __msvcr90d__ defines.
        * mingwex/math/log10f.S: Correct issue with comments.
        * mingwex/math/log10l.S: Ditto.
        * mingwex/math/log1p.S: Ditto.
        * mingwex/math/log1pf.S: Ditto.
        * mingwex/math/log1pl.S: Ditto.
        * mingwex/math/log2.S: Ditto.
        * mingwex/math/log2f.S: Ditto.
        * mingwex/math/log2l.S: Ditto.
        * mingwex/math/logf.S: Ditto.
        * mingwex/math/logl.S: Ditto.
2007-11-27 02:14:19 +00:00
Danny Smith e635b30956 Import David Gay's gdtoa library.
* mingwex/gdtoa: New directory.
	* mingwex/gdtoa/(arithchk.c, dmisc.c, dtoa.c, g__fmt.c, g_dfmt.c,
	g_ffmt.c, g_xfmt.c, gd_arith.h, gd_qnan.h, gdtoa.c, gdtoa.h,
	gdtoaimp.h, gethex.c, gmisc.c, hd_init.c, hexnan.c, misc.c, qnan.c,
	README, smisc.c, strtodg.c, strtodnrp.c, strtof.c, strtopx.c, sum.c,
	ulp.c): New files.
	* mingwex/(strtof.c, strtold.c, ldtoa.c): Remove files.
	* mingwex/math/(cephes-emath.c, cephes-emath.h): Remove files.
	* mingwex/mb_wc_common.h (get_cp_from_locale); Rename to get_codepage().
        * mingwex/(btowc.c, wctob.c, mbrtowc.c, wcrtomb.c): Adjust call to get_codepage().
	* mingwex/wcstold.c: Avoid using strtold internals.
	* mingwex/wcstof.c: Rewrite.
	* mingwex/Makefile.in (GDTOA_DISTFILES): Add to distribution.
	(GDTOA_OBJS): Add to library.
	(DISTFILES): Remove strtof.c strtold.c ldtoa.c cephes-emath.c cephes-emath.h.
	(STDLIB_OBJS): Remove.
	(STDLIB_STUB_OBJS): Remove strtof.o wcstof,o.
	(Q8_OBJS): Add wcstof.o wcstold.o.
	* include/stdlib.h (strtof): Remove inline definition.
	(wcstof): Likewise.
	* include/wchar.h (wcstof): Remove inline definition.
2006-08-31 23:48:56 +00:00
Danny Smith 4a7163e8a0 * mingwex/math/tgamma.c (SQTPI): Add braces. 2006-06-26 00:56:40 +00:00
Danny Smith 1dcd64ff55 * mingwex/wcrtomb.c (wcsrtombs): Fix src end-pointer thinko.
* mingwex/math/lgamma.c: (LOGPI) Avoid type punning.
	(LS2PI): Likewise.
        * mingwex/math/sf_erf.c (erff): Initialize z.
        (erfcf): Likewise.
	* mingwex/math/tgamma.c (SQTPI): Avoid type punning.
2006-06-26 00:53:34 +00:00
Danny Smith 96c837f0ca * mingwex/math/nexttoward.c: New file.
* mingwex/math/nexttowardf.c: New file.
	* mingwex/math/nextafterl.c: Add nexttowardl aliaa.
	* mingwex/Makefile.in (MATH_DISTFILES): Add nexttoward.c,
	mexttowardf.c,
	(MATH_OBJS):  Add nexttoward.o,	mexttowardf.o,
	* include/math.h (nexttoward, nextowardf, nexttowardl): Add
	prototypes.
2005-05-10 08:39:07 +00:00
Danny Smith 5b91f0a6ef * mingwex/math/nextafterf.c (nextafterf): Correct
handling of -0.0.
	* mingwex/math/nextafterl.c: New file.
	* mingwex/Makefile.in (MATH_DISTFILES): Add nextafterl.c.
	(MATH_OBJS): Add nextafterl.o.
	* include/math.h (nextafterl): Uncomment prototype.
2005-05-09 09:36:10 +00:00
Danny Smith 02626f616d * mingwex/math/erfl.c: New file.
* mingwex/Makefile.i (MATH_DISTFILES): Add erfl.c.
	(MATH_OBJS): Add erfl.o.
	* include/math.h (erfl, erfcl): Uncomment prototypes.
2005-05-08 08:07:18 +00:00
Danny Smith 8559dd92d0 * mingwex/math/signbit.c (__signbit): Make return value
consistent with GCC's __builtin_signbit.
	* mingwex/math/signbitf.c (__signbitf):  Likewise.
	* mingwex/math/signbitf.c (__signbitl):  Likewise.
	* include/math.h (__signbit, __signbitf, __signbitl): Likewise
	for inlines.
2005-05-03 08:39:19 +00:00
Danny Smith ba16f5aa83 2005-02-11 Gregory W. Chicares <chicares at cox dot net>
Danny Smith  <dannysmith@users at sourceforge dot net>

	* include/math.h (expm1, expm1f, expmll): Add prototypes.
	* mingwex/Makefile.in (MATH_DISTFILES): Add expm1.c,
	expm1f.c, expm1l.c.
	(MATH_OBJS): Add expm1.o, expm1f.o, expm1l.o.
	* mingwex/math/expm1.c: New file.
	* mingwex/math/expm1f.c: New file.
	* mingwex/math/expm1l.c: New file.
2005-02-11 04:15:17 +00:00
Danny Smith 72db1c11e9 * include/math.h (ashinh, asinhf, asinhl, acosh, acoshf, acoshl,
atanh, atanhf, atanhl): Add prototypes.
	* mingwex/Makefile.in (MATH_OBJS): Add objects for above to list.
	(MATH_DISTFILES): Add sources for above and fastmath.h to list.
	Specify dependency on fastmath.h for new objects.
	* mingwex/math/fastmath.h: New file.
	* mingwex/math/ashinh.c: New file.
	* mingwex/math/asinhf.c: New file.
	* mingwex/math/asinhl.c: New file.
	* mingwex/math/acosh.c: New file.
	* mingwex/math/acoshf.c: New file.
	* mingwex/math/acoshl.c: New file.
	* mingwex/math/atanh.c: New file.
	* mingwex/math/atanhf.c: New file.
	* mingwex/math/atanhl.c: New file.
2004-10-06 20:31:32 +00:00
Danny Smith ab8cc34bb7 * mingwex/math/powl.c (powl): Revert change of 2004-02-01.
(__convert_inf_to_maxnum): New.static inline.
	(reducl): Use it to protect against Inf - Inf.
	(__fast_ldexpl): New function.  Use in lieu of ldexpl.
2004-07-28 11:25:27 +00:00
Danny Smith 5ea3a6e152 * mingwex/math/expl.c (expl): Move body of code to new static
function __expl, removing tests for +/-Inf. Extern function
	expl calls __expl after testing for max, min log thresholds.
2004-07-27 08:03:36 +00:00
Danny Smith e4cb4efab3 * mingwex/math/cephes_emath.h (__etens): Remove declaration. 2004-07-12 07:33:17 +00:00
Danny Smith 1a4b7623f4 * mingwex/math/lround.c: Rewrite.
* mingwex/math/lroundf.c: Rewrite.
	* mingwex/math/lroundl.c: Rewrite.
	* mingwex/math/llround.c: Rewrite.
	* mingwex/math/llroundf.c: Rewrite.
	* mingwex/math/llroundl.c: Rewrite.
2004-04-22 04:38:24 +00:00
Danny Smith 521a0aa9a8 * mingwex/math/round.c: Rewrite.
* mingwex/math/roundf.c: Rewrite.
	* mingwex/math/roundl.c: Rewrite.
2004-03-29 08:22:20 +00:00
Danny Smith f6565cd1a6 * mingwex/math/ldexpl.c (ldexpl): Call __asm__("fscale")
directly, rather than via scabnl.
2004-02-01 02:52:21 +00:00
Danny Smith 416bc45060 * mingwex/math/powl.c (powl): Return infinity if
extended precision multiplication of x by log2(y)
	overflows.
2004-02-01 00:10:17 +00:00
Danny Smith d2c7ccfc5f * mingwex/math/cephes_emath.h (__enan_64): Fix thinko.
(__enan_NI16): Fix another one.
	(__enan_NBITS): Tidy.
2004-01-31 08:44:01 +00:00
Danny Smith 359e09e7fd * mingwex/math/cephes_mconf.h (NAN, NANF, NANL):
Use GCC __builtin's if available.
	(INFINITY, INFINITYF, INFINITYL): Likewise.
2003-10-21 09:10:51 +00:00
Danny Smith 672126d4f1 * mingwex/math/s_erf.c (erf): Set errno to ERANGE if
beyond approximation limit.
	* mingwex/math/sf_erf.c (erff): Likewise.
2003-10-21 09:05:24 +00:00
Danny Smith 235f653a53 * mingwex/math/trunc.c (trunc): Provide lvalue for memory input constraint.
* mingwex/math/truncf.c (truncf): Likewise.
	* mingwex/math/truncl.c (truncl): Likewise.
	* mingwex/math/modff.c (modff): Likewise.
	* mingwex/math/modfl.c (modfl): Likewise.
2003-07-03 11:24:18 +00:00
Earnie Boyd e21a622054 * mingwex/math/tgamma.c, tgammaf.c, tgammal.c (small):
Rename to Small (case difference).
2003-07-01 13:55:47 +00:00
Danny Smith 48051a71ce Get rid of some warnings
* mingwex/dirent.c (_topendir): Eliminate signed/unsigned warning.
	* mingwex/strtoimax.c (strtoimax): Likewise.
	* mingwex/wcstoimax.c (wcstoimax): Likewise.
	* mingwex/wtoll.c (wtoll): Remove unnecessary ';'
	* mingwex/fesentenv.c: Include float.h.
	* mingwex/math/powl.c: Eliminate type punning/strict aliasing 
	warning.
	* mingwex/math/tanhl.c: Eliminate signed/unsigned warning in
	constants.
	* mingwex/math/tgammal.c: Likewise.
2003-03-17 01:03:43 +00:00
Danny Smith eff24ab9c5 * mingwex/math/cephes_emath.h: Don't redefine INFINITY. 2003-02-10 22:38:36 +00:00
Danny Smith a545b16de6 * mingwex/math/llround.c: Correct function name and
change return value to long long.
2003-01-11 10:52:20 +00:00
Danny Smith 009bcda6f9 * mingwex/math/s_erf.c: New file.
* mingwex/math/sf_erf.c: New file.
	* mingwex/Makefile.in (MATH_DISTFILES): Add new files.
	(MATH_OBJS): Add new objects.
	* include/math.h (erf[f]): Add prototypes.
	(erfc[f]): Add prototypes.
2002-12-08 01:46:42 +00:00
Danny Smith dc8597f966 * mingwex/math/lgamma.c: New file.
* mingwex/math/lgammaf.c: New file.
	* mingwex/math/lgammal.c: New file.
	* mingwex/math/tgamma.c: New file.
	* mingwex/math/tgammaf.c: New file.
	* mingwex/math/tgammal.c: New file.
	* mingwex/math/cephes_mconf (polevlf): Add float version.
	(p1evlf): Likewise.
	Define _CEPHES_USE_ERRNO.
	* mingwex/Makefile.in (MATH_DISTFILES): Add new files.
	(MATH_OBJS): Add new objects.
	* include/math.h (lgamma[fl]): Add prototypes.
	(tgamma[fl]): Add prototypes.
2002-11-27 03:41:25 +00:00
Danny Smith 5362be5926 Add strtold and wcstold to libmingwex.a
* mingwex/strtold.c: New file.
	* mingwex/wcstold.c: New file.
	* mingwex/ldtoa.c: New file.
	* mingwex/math/cephes_emath.h: New file.
	* mingwex/math/cephes_emath.c: New file.
	* mingwex/Makefile.in (DISTFILES): Add new files.
	(MATH_DISTFILES): Ditto.
	(STDLIB_OBJS): New. Define as strtold.c wcstold.c.
	(MATH_OBJS): Add cephes_emath.o.
	(LIB_OBJS): Add $(STDLIB_OBJS).
	* include/stdlib.h (strtold, wcstold): Add prototypes.
	* include/wchar.h (wcstold): Add prototype.

Add missing ChangeLog entry for 2002-11-09.
2002-11-26 00:11:06 +00:00
Danny Smith 9da547ff26 * include/math.h (sqrt): Remove inline definition.
(sqrtf): Replace inline definition with prototype.
	(sqrtl): Likewise.
	* mingwex/math/sqrtf.c (sqrtf): Set domain error if
	argument less than zero.
	* mingwex/math/sqrtf.c (sqrtl): Likewise.

	Correct typo in 2002-10-30 ChangeLog entry.
2002-11-09 10:44:02 +00:00
Danny Smith 66451d9590 * mingwex/math/powil.c: Rename powil to __powil.
* mingwex/math/powl.c: Adjust declaration and call
	to __powil. Remove comment on powil.
	* mingwex/math/powi.c: New file.
	* mingwex/math/powif.c: New file.
	* mingwex/math/pow.c: New file.
	* mingwex/math/cephes_mconf.h. Add double and float
	versions of constants.
	(polevl): Add double precision function.
	(p1evl): Likewise.
	* mingwex/Makefile.in (MATH_DISTFILES): Add pow.c,
	powi.c, powif.c.
	(MATH_OBJS): Add pow.o,	powi.o, powif.o.
2002-10-06 23:26:43 +00:00
Danny Smith 76f28487ee * mingwex/math/files.txt: Remove inadvertantly added file. 2002-09-19 23:05:27 +00:00
Danny Smith 169618f29f * mingwex/math/hypotl.c: Replace with version based on cephes
library.
2002-09-02 03:00:37 +00:00
Danny Smith b8cdc234c6 Add incomplet long double math support to libmingwex.a 2002-07-29 03:00:10 +00:00