glibc/math/math_private.h

361 lines
12 KiB
C
Raw Normal View History

/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* from: @(#)fdlibm.h 5.1 93/09/24
*/
#ifndef _MATH_PRIVATE_H_
#define _MATH_PRIVATE_H_
1999-07-14 02:54:57 +02:00
#include <endian.h>
#include <stdint.h>
#include <sys/types.h>
/* The original fdlibm code used statements like:
n0 = ((*(int*)&one)>>29)^1; * index of high word *
ix0 = *(n0+(int*)&x); * high word of x *
ix1 = *((1-n0)+(int*)&x); * low word of x *
to dig two 32 bit words out of the 64 bit IEEE floating point
value. That is non-ANSI, and, moreover, the gcc instruction
scheduler gets it wrong. We instead use the following macros.
Unlike the original code, we determine the endianness at compile
time, not at run time; I don't see much benefit to selecting
endianness at run time. */
/* A union which permits us to convert between a double and two 32 bit
ints. */
#if __FLOAT_WORD_ORDER == BIG_ENDIAN
typedef union
{
double value;
struct
{
u_int32_t msw;
u_int32_t lsw;
} parts;
uint64_t word;
} ieee_double_shape_type;
#endif
#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
typedef union
{
double value;
struct
{
u_int32_t lsw;
u_int32_t msw;
} parts;
uint64_t word;
} ieee_double_shape_type;
#endif
/* Get two 32 bit ints from a double. */
#define EXTRACT_WORDS(ix0,ix1,d) \
do { \
ieee_double_shape_type ew_u; \
ew_u.value = (d); \
(ix0) = ew_u.parts.msw; \
(ix1) = ew_u.parts.lsw; \
} while (0)
/* Get the more significant 32 bit int from a double. */
#define GET_HIGH_WORD(i,d) \
do { \
ieee_double_shape_type gh_u; \
gh_u.value = (d); \
(i) = gh_u.parts.msw; \
} while (0)
/* Get the less significant 32 bit int from a double. */
#define GET_LOW_WORD(i,d) \
do { \
ieee_double_shape_type gl_u; \
gl_u.value = (d); \
(i) = gl_u.parts.lsw; \
} while (0)
/* Get all in one, efficient on 64-bit machines. */
#define EXTRACT_WORDS64(i,d) \
do { \
ieee_double_shape_type gh_u; \
gh_u.value = (d); \
(i) = gh_u.word; \
} while (0)
/* Set a double from two 32 bit ints. */
#define INSERT_WORDS(d,ix0,ix1) \
do { \
ieee_double_shape_type iw_u; \
iw_u.parts.msw = (ix0); \
iw_u.parts.lsw = (ix1); \
(d) = iw_u.value; \
} while (0)
/* Get all in one, efficient on 64-bit machines. */
#define INSERT_WORDS64(i,d) \
do { \
ieee_double_shape_type iw_u; \
iw_u.word = (i); \
(d) = iw_u.value; \
} while (0)
/* Set the more significant 32 bits of a double from an int. */
#define SET_HIGH_WORD(d,v) \
do { \
ieee_double_shape_type sh_u; \
sh_u.value = (d); \
sh_u.parts.msw = (v); \
(d) = sh_u.value; \
} while (0)
/* Set the less significant 32 bits of a double from an int. */
#define SET_LOW_WORD(d,v) \
do { \
ieee_double_shape_type sl_u; \
sl_u.value = (d); \
sl_u.parts.lsw = (v); \
(d) = sl_u.value; \
} while (0)
/* A union which permits us to convert between a float and a 32 bit
int. */
typedef union
{
float value;
u_int32_t word;
} ieee_float_shape_type;
/* Get a 32 bit int from a float. */
#define GET_FLOAT_WORD(i,d) \
do { \
ieee_float_shape_type gf_u; \
gf_u.value = (d); \
(i) = gf_u.word; \
} while (0)
/* Set a float from a 32 bit int. */
#define SET_FLOAT_WORD(d,i) \
do { \
ieee_float_shape_type sf_u; \
sf_u.word = (i); \
(d) = sf_u.value; \
} while (0)
1999-07-14 02:54:57 +02:00
/* Get long double macros from a separate header. */
#include <math_ldbl.h>
Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * po/header.pot: Replace with exact boilerplate pinard dictates. * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set errno and the check that jumped to it. * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx). Thu May 30 03:21:57 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Document need of gperf program for developers. * elf/elf.h: Fix typos in comments. * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add prototypes for `ctermid' and `cuserid'. * locale/programs/locale.c: Switch to user selected locale before printing variables. * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines and long-c-routines. Only if the `long double' data type is available we need to compile the functions. (libm-routines): Add $(long-m-routines). (routines): Remove isinfl, isnanl. Use new file s_isinfl and s_isnanl instead if `long double' is available. * math/math.h: Include <mathcalls.h> again to define `long double' functions. * math/math_private.h: Define data types, prototypes and access macros for `long double'. * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'. [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which calls __strto{,u}q_internal. * stdlib/strfmon.c: Replace PTR by `void *'. * stdlib/strtoq.c: Define strtoll as weak alias. * stdlib/strtouq.c: Define strtoull as weak alias. * string/tester.c: Correct `strsep' test. * sysdeps/generic/strsep.c: Make compatible with BSD version. Trailing characters of skip set are not skipped. In this case empty tokens are returned. * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c, sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c, sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed. We now use the versions part of libm. * sysdeps/i386/strsep.S: Removed. Generic C version is of similar speed. * sysdeps/i386/strtok.S: Remove support for `strsep'. * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S, sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S, sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c, sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c, sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S: New i387 specific math functions implementing `long double' versions. * sysdeps/libm-ieee754/s_ceill.c, sysdeps/libm-ieee754/s_copysignl.c, sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c, sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c, sysdeps/libm-ieee754/s_isnanl.c, sysdeps/libm-ieee754/s_nextafterl.c, sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c, sysdeps/libm-ieee754/s_significandl.c: New generic `long double' versions of libm functions. * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the Intel FPU nonsense. * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S, sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct handling of local variables. The old version created a stack frame but stored the values outside. * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c [!NO_LONG_DOUBLE]: Define alias with `long double' versions name. * login/pututline_r.c: Include sys/stat.h. Fix typos. according to currently used locale for category LC_CTYPE by inet_nsap_ntoa. Now in <arpa/inet.h>. _IO_dup2 to contain complete parameter list.
1996-05-30 18:12:42 +02:00
/* ieee style elementary functions */
extern double __ieee754_sqrt (double);
extern double __ieee754_acos (double);
extern double __ieee754_acosh (double);
extern double __ieee754_log (double);
extern double __ieee754_atanh (double);
extern double __ieee754_asin (double);
extern double __ieee754_atan2 (double,double);
extern double __ieee754_exp (double);
extern double __ieee754_exp2 (double);
extern double __ieee754_exp10 (double);
extern double __ieee754_cosh (double);
extern double __ieee754_fmod (double,double);
extern double __ieee754_pow (double,double);
extern double __ieee754_lgamma_r (double,int *);
extern double __ieee754_gamma_r (double,int *);
extern double __ieee754_lgamma (double);
extern double __ieee754_gamma (double);
extern double __ieee754_log10 (double);
Update. 2001-06-04 Bruno Haible <haible@clisp.cons.org> * iconv/loop.c (UNICODE_TAG_HANDLER): New macro. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke UNICODE_TAG_HANDLER. (__gconv_transform_internal_ucs2): Likewise. (__gconv_transform_internal_ucs2reverse): Likewise. * iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER. * iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise. * iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise. * iconvdata/big5.c (BODY for TO_LOOP): Likewise. * iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise. * iconvdata/cp1255.c (BODY for TO_LOOP): Likewise. * iconvdata/cp1258.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise. * iconvdata/gbk.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm930.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm932.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm933.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm935.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm937.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm939.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm943.c (BODY for TO_LOOP): Likewise. * iconvdata/iso646.c (BODY for TO_LOOP): Likewise. * iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise. * iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise. * iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise. * iconvdata/johab.c (BODY for TO_LOOP): Likewise. * iconvdata/sjis.c (BODY for TO_LOOP): Likewise. * iconvdata/t.61.c (BODY for TO_LOOP): Likewise. * iconvdata/uhc.c (BODY for TO_LOOP): Likewise. * iconvdata/unicode.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j, TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z, TAG_language_zh, CURRENT_TAG_MASK): New enum values. (EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set is already selected but set2 or tag are set. (conversion): New enum type. (cvlist_t): New type. (CVLIST, CVLIST_FIRST, CVLIST_REST): New macros. (conversion_lists): New array. (BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja", prefer conversion to Japanese character sets. If "zh", prefer conversion to GB2312. If "ko", prefer conversion to KSC5601. Small optimizations. (INIT_PARAMS): Add tag. (UPDATE_PARAMS): Add tag. 2001-06-04 Bruno Haible <haible@clisp.cons.org> * locale/programs/locfile.c (write_locale_data): Before creat(), unlink the file, to avoid crashing the processes that mmap it. Change a double slash to a single slash. Free fname in case of error return. 2001-06-02 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03 changes, do the special handling for denormal numbers, not for normalized numbers (patch by <trevin@xmission.com>). * math/test-misc.c (main): Test frexpl with denormal arguments. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/libm-test.inc (llround_test): Add two new llround tests. * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow overflow when rounding away from zero. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2. * math/math_private.h (__ieee754_log2, __ieee754_log2f, __ieee754_log2l): New prototypes. * sysdeps/generic/w_log2.c: New file. * sysdeps/generic/w_log2f.c: New file. * sysdeps/generic/w_log2l.c: New file. * sysdeps/generic/s_log2l.c: Move... * sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l. * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0) and log2(x < 0). * sysdeps/i386/fpu/s_log2.S: Move... * sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. * sysdeps/i386/fpu/s_log2f.S: Move... * sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. * sysdeps/i386/fpu/s_log2l.S: Move... * sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. * sysdeps/m68k/fpu/s_log2.S: Move... * sysdeps/m68k/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. * sysdeps/m68k/fpu/s_log2f.S: Move... * sysdeps/m68k/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. * sysdeps/m68k/fpu/s_log2l.S: Move... * sysdeps/m68k/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. * sysdeps/ieee754/dbl-64/s_log2.c: Move... * sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to __ieee754_log2. * sysdeps/ieee754/flt-32/s_log2f.c: Move... * sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to __ieee754_log2f. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that even arguments which result in denormalized exp2 are accepted. (__exp2): Arguments equal to u_threshold already result into underflow. * sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise. * sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise. * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too low, with corrected lowmark use greaterequal, not greater. * sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX. * sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf. * sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise. * sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise. * sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise. * sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise. * sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise. * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/w_coshl.c (__coshl): Test if finite argument gave non-finite result instead of using constant in generic version. * sysdeps/generic/w_coshf.c (__coshf): Likewise. * sysdeps/generic/w_cosh.c (__cosh): Likewise. * sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove. (__exp10): Test if finite argument gave non-finite result. * sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f): Likewise. * sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix overflow threshold constant (log(LDBL_MAX)+M_LN2l). 2001-05-29 Bruno Haible <haible@clisp.cons.org> * locale/programs/ld-ctype.c (idx_table): New struct type. (idx_table_init, idx_table_get, idx_table_add): New functions. (MAX_CHARNAMES_IDX): Remove macro. (locale_ctype_t): Change type of charnames_idx field. (ctype_startup): Change initialization of charnames_idx field. (find_idx): Use idx_table_get and idx_table_add for speed. * locale/programs/charmap.c (charmap_new_char): Fix ucs4 value computation of characters in a range. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for <U03F4>, <U03F5>. (__ucs_to_gb18030_tab1): Likewise. (BODY for FROM_LOOP): Add mapping for <U00010000>..<U0010FFFF>. (BODY for TO_LOOP): Likewise. * iconvdata/tst-table-charmap.sh: Update for charmaps containing <U00xxxxxx> syntax. * iconvdata/tst-table-from.c (bmp_only): New variable. (utf8_decode): If bmp_only, don't return characters outside Unicode plane 0. (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print a conversion line if utf8_decode returns NULL. * iconvdata/tst-table-to.c (main): When testing encodings other than UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8 instead of UCS-2 as input. * iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000 of the charmap. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * iconvdata/cns11643l1.c: Update to Unicode 3.1. (__cns11643l1_to_ucs4_tab): Regenerated. (__cns11643l1_from_ucs4_tab12): Regenerated. * iconvdata/cns11643.c: Update to Unicode 3.1. (__cns11643l14_to_ucs4_tab): Remove array. (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays. (__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab. (__cns11643_from_ucs4p2_tab): New array. * iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration. (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations. (cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14. (__cns11643_from_ucs4_tab): Remove declaration. (__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New declarations. (ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and U+20000..U+2A6D6. * iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove declaration. (__cns11643_from_ucs4p0_tab): New declaration. (ucs4_to_cns11643l2): Update for new arrays. * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes 3 to 7. (BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14. * iconvdata/EUC-TW.irreversible: New file. * iconvdata/tst-table.sh: Use it. * iconvdata/Makefile (distribute): Add CP1255.irreversible, CP1258.irreversible, EUC-TW.irreversible. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * locale/C-translit.h.in: Add transliterations for new Unicode 3.1 mathematical symbols.
2001-06-06 14:55:46 +02:00
extern double __ieee754_log2 (double);
extern double __ieee754_sinh (double);
extern double __ieee754_hypot (double,double);
extern double __ieee754_j0 (double);
extern double __ieee754_j1 (double);
extern double __ieee754_y0 (double);
extern double __ieee754_y1 (double);
extern double __ieee754_jn (int,double);
extern double __ieee754_yn (int,double);
extern double __ieee754_remainder (double,double);
extern int32_t __ieee754_rem_pio2 (double,double*);
extern double __ieee754_scalb (double,double);
/* fdlibm kernel function */
extern double __kernel_standard (double,double,int);
extern double __kernel_sin (double,double,int);
extern double __kernel_cos (double,double);
extern double __kernel_tan (double,double,int);
extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
/* internal functions. */
extern double __copysign (double x, double __y);
#if __GNUC_PREREQ (4, 0)
extern inline double __copysign (double x, double y)
{ return __builtin_copysign (x, y); }
#endif
/* ieee style elementary float functions */
extern float __ieee754_sqrtf (float);
extern float __ieee754_acosf (float);
extern float __ieee754_acoshf (float);
extern float __ieee754_logf (float);
extern float __ieee754_atanhf (float);
extern float __ieee754_asinf (float);
extern float __ieee754_atan2f (float,float);
extern float __ieee754_expf (float);
extern float __ieee754_exp2f (float);
extern float __ieee754_exp10f (float);
extern float __ieee754_coshf (float);
extern float __ieee754_fmodf (float,float);
extern float __ieee754_powf (float,float);
extern float __ieee754_lgammaf_r (float,int *);
extern float __ieee754_gammaf_r (float,int *);
extern float __ieee754_lgammaf (float);
extern float __ieee754_gammaf (float);
extern float __ieee754_log10f (float);
Update. 2001-06-04 Bruno Haible <haible@clisp.cons.org> * iconv/loop.c (UNICODE_TAG_HANDLER): New macro. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke UNICODE_TAG_HANDLER. (__gconv_transform_internal_ucs2): Likewise. (__gconv_transform_internal_ucs2reverse): Likewise. * iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER. * iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise. * iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise. * iconvdata/big5.c (BODY for TO_LOOP): Likewise. * iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise. * iconvdata/cp1255.c (BODY for TO_LOOP): Likewise. * iconvdata/cp1258.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise. * iconvdata/gbk.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm930.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm932.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm933.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm935.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm937.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm939.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm943.c (BODY for TO_LOOP): Likewise. * iconvdata/iso646.c (BODY for TO_LOOP): Likewise. * iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise. * iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise. * iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise. * iconvdata/johab.c (BODY for TO_LOOP): Likewise. * iconvdata/sjis.c (BODY for TO_LOOP): Likewise. * iconvdata/t.61.c (BODY for TO_LOOP): Likewise. * iconvdata/uhc.c (BODY for TO_LOOP): Likewise. * iconvdata/unicode.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j, TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z, TAG_language_zh, CURRENT_TAG_MASK): New enum values. (EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set is already selected but set2 or tag are set. (conversion): New enum type. (cvlist_t): New type. (CVLIST, CVLIST_FIRST, CVLIST_REST): New macros. (conversion_lists): New array. (BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja", prefer conversion to Japanese character sets. If "zh", prefer conversion to GB2312. If "ko", prefer conversion to KSC5601. Small optimizations. (INIT_PARAMS): Add tag. (UPDATE_PARAMS): Add tag. 2001-06-04 Bruno Haible <haible@clisp.cons.org> * locale/programs/locfile.c (write_locale_data): Before creat(), unlink the file, to avoid crashing the processes that mmap it. Change a double slash to a single slash. Free fname in case of error return. 2001-06-02 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03 changes, do the special handling for denormal numbers, not for normalized numbers (patch by <trevin@xmission.com>). * math/test-misc.c (main): Test frexpl with denormal arguments. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/libm-test.inc (llround_test): Add two new llround tests. * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow overflow when rounding away from zero. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2. * math/math_private.h (__ieee754_log2, __ieee754_log2f, __ieee754_log2l): New prototypes. * sysdeps/generic/w_log2.c: New file. * sysdeps/generic/w_log2f.c: New file. * sysdeps/generic/w_log2l.c: New file. * sysdeps/generic/s_log2l.c: Move... * sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l. * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0) and log2(x < 0). * sysdeps/i386/fpu/s_log2.S: Move... * sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. * sysdeps/i386/fpu/s_log2f.S: Move... * sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. * sysdeps/i386/fpu/s_log2l.S: Move... * sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. * sysdeps/m68k/fpu/s_log2.S: Move... * sysdeps/m68k/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. * sysdeps/m68k/fpu/s_log2f.S: Move... * sysdeps/m68k/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. * sysdeps/m68k/fpu/s_log2l.S: Move... * sysdeps/m68k/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. * sysdeps/ieee754/dbl-64/s_log2.c: Move... * sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to __ieee754_log2. * sysdeps/ieee754/flt-32/s_log2f.c: Move... * sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to __ieee754_log2f. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that even arguments which result in denormalized exp2 are accepted. (__exp2): Arguments equal to u_threshold already result into underflow. * sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise. * sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise. * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too low, with corrected lowmark use greaterequal, not greater. * sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX. * sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf. * sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise. * sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise. * sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise. * sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise. * sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise. * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/w_coshl.c (__coshl): Test if finite argument gave non-finite result instead of using constant in generic version. * sysdeps/generic/w_coshf.c (__coshf): Likewise. * sysdeps/generic/w_cosh.c (__cosh): Likewise. * sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove. (__exp10): Test if finite argument gave non-finite result. * sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f): Likewise. * sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix overflow threshold constant (log(LDBL_MAX)+M_LN2l). 2001-05-29 Bruno Haible <haible@clisp.cons.org> * locale/programs/ld-ctype.c (idx_table): New struct type. (idx_table_init, idx_table_get, idx_table_add): New functions. (MAX_CHARNAMES_IDX): Remove macro. (locale_ctype_t): Change type of charnames_idx field. (ctype_startup): Change initialization of charnames_idx field. (find_idx): Use idx_table_get and idx_table_add for speed. * locale/programs/charmap.c (charmap_new_char): Fix ucs4 value computation of characters in a range. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for <U03F4>, <U03F5>. (__ucs_to_gb18030_tab1): Likewise. (BODY for FROM_LOOP): Add mapping for <U00010000>..<U0010FFFF>. (BODY for TO_LOOP): Likewise. * iconvdata/tst-table-charmap.sh: Update for charmaps containing <U00xxxxxx> syntax. * iconvdata/tst-table-from.c (bmp_only): New variable. (utf8_decode): If bmp_only, don't return characters outside Unicode plane 0. (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print a conversion line if utf8_decode returns NULL. * iconvdata/tst-table-to.c (main): When testing encodings other than UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8 instead of UCS-2 as input. * iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000 of the charmap. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * iconvdata/cns11643l1.c: Update to Unicode 3.1. (__cns11643l1_to_ucs4_tab): Regenerated. (__cns11643l1_from_ucs4_tab12): Regenerated. * iconvdata/cns11643.c: Update to Unicode 3.1. (__cns11643l14_to_ucs4_tab): Remove array. (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays. (__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab. (__cns11643_from_ucs4p2_tab): New array. * iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration. (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations. (cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14. (__cns11643_from_ucs4_tab): Remove declaration. (__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New declarations. (ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and U+20000..U+2A6D6. * iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove declaration. (__cns11643_from_ucs4p0_tab): New declaration. (ucs4_to_cns11643l2): Update for new arrays. * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes 3 to 7. (BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14. * iconvdata/EUC-TW.irreversible: New file. * iconvdata/tst-table.sh: Use it. * iconvdata/Makefile (distribute): Add CP1255.irreversible, CP1258.irreversible, EUC-TW.irreversible. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * locale/C-translit.h.in: Add transliterations for new Unicode 3.1 mathematical symbols.
2001-06-06 14:55:46 +02:00
extern float __ieee754_log2f (float);
extern float __ieee754_sinhf (float);
extern float __ieee754_hypotf (float,float);
extern float __ieee754_j0f (float);
extern float __ieee754_j1f (float);
extern float __ieee754_y0f (float);
extern float __ieee754_y1f (float);
extern float __ieee754_jnf (int,float);
extern float __ieee754_ynf (int,float);
extern float __ieee754_remainderf (float,float);
extern int32_t __ieee754_rem_pio2f (float,float*);
extern float __ieee754_scalbf (float,float);
/* float versions of fdlibm kernel functions */
extern float __kernel_sinf (float,float,int);
extern float __kernel_cosf (float,float);
extern float __kernel_tanf (float,float,int);
extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
/* internal functions. */
extern float __copysignf (float x, float __y);
#if __GNUC_PREREQ (4, 0)
extern inline float __copysignf (float x, float y)
{ return __builtin_copysignf (x, y); }
#endif
Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * po/header.pot: Replace with exact boilerplate pinard dictates. * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set errno and the check that jumped to it. * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx). Thu May 30 03:21:57 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Document need of gperf program for developers. * elf/elf.h: Fix typos in comments. * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add prototypes for `ctermid' and `cuserid'. * locale/programs/locale.c: Switch to user selected locale before printing variables. * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines and long-c-routines. Only if the `long double' data type is available we need to compile the functions. (libm-routines): Add $(long-m-routines). (routines): Remove isinfl, isnanl. Use new file s_isinfl and s_isnanl instead if `long double' is available. * math/math.h: Include <mathcalls.h> again to define `long double' functions. * math/math_private.h: Define data types, prototypes and access macros for `long double'. * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'. [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which calls __strto{,u}q_internal. * stdlib/strfmon.c: Replace PTR by `void *'. * stdlib/strtoq.c: Define strtoll as weak alias. * stdlib/strtouq.c: Define strtoull as weak alias. * string/tester.c: Correct `strsep' test. * sysdeps/generic/strsep.c: Make compatible with BSD version. Trailing characters of skip set are not skipped. In this case empty tokens are returned. * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c, sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c, sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed. We now use the versions part of libm. * sysdeps/i386/strsep.S: Removed. Generic C version is of similar speed. * sysdeps/i386/strtok.S: Remove support for `strsep'. * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S, sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S, sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c, sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c, sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S: New i387 specific math functions implementing `long double' versions. * sysdeps/libm-ieee754/s_ceill.c, sysdeps/libm-ieee754/s_copysignl.c, sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c, sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c, sysdeps/libm-ieee754/s_isnanl.c, sysdeps/libm-ieee754/s_nextafterl.c, sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c, sysdeps/libm-ieee754/s_significandl.c: New generic `long double' versions of libm functions. * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the Intel FPU nonsense. * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S, sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct handling of local variables. The old version created a stack frame but stored the values outside. * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c [!NO_LONG_DOUBLE]: Define alias with `long double' versions name. * login/pututline_r.c: Include sys/stat.h. Fix typos. according to currently used locale for category LC_CTYPE by inet_nsap_ntoa. Now in <arpa/inet.h>. _IO_dup2 to contain complete parameter list.
1996-05-30 18:12:42 +02:00
/* ieee style elementary long double functions */
extern long double __ieee754_sqrtl (long double);
extern long double __ieee754_acosl (long double);
extern long double __ieee754_acoshl (long double);
extern long double __ieee754_logl (long double);
extern long double __ieee754_atanhl (long double);
extern long double __ieee754_asinl (long double);
extern long double __ieee754_atan2l (long double,long double);
extern long double __ieee754_expl (long double);
extern long double __ieee754_exp2l (long double);
extern long double __ieee754_exp10l (long double);
extern long double __ieee754_coshl (long double);
extern long double __ieee754_fmodl (long double,long double);
extern long double __ieee754_powl (long double,long double);
extern long double __ieee754_lgammal_r (long double,int *);
extern long double __ieee754_gammal_r (long double,int *);
extern long double __ieee754_lgammal (long double);
extern long double __ieee754_gammal (long double);
extern long double __ieee754_log10l (long double);
Update. 2001-06-04 Bruno Haible <haible@clisp.cons.org> * iconv/loop.c (UNICODE_TAG_HANDLER): New macro. * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke UNICODE_TAG_HANDLER. (__gconv_transform_internal_ucs2): Likewise. (__gconv_transform_internal_ucs2reverse): Likewise. * iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER. * iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise. * iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise. * iconvdata/big5.c (BODY for TO_LOOP): Likewise. * iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise. * iconvdata/cp1255.c (BODY for TO_LOOP): Likewise. * iconvdata/cp1258.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise. * iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise. * iconvdata/gbk.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm930.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm932.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm933.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm935.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm937.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm939.c (BODY for TO_LOOP): Likewise. * iconvdata/ibm943.c (BODY for TO_LOOP): Likewise. * iconvdata/iso646.c (BODY for TO_LOOP): Likewise. * iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise. * iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise. * iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise. * iconvdata/johab.c (BODY for TO_LOOP): Likewise. * iconvdata/sjis.c (BODY for TO_LOOP): Likewise. * iconvdata/t.61.c (BODY for TO_LOOP): Likewise. * iconvdata/uhc.c (BODY for TO_LOOP): Likewise. * iconvdata/unicode.c (BODY for TO_LOOP): Likewise. * iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j, TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z, TAG_language_zh, CURRENT_TAG_MASK): New enum values. (EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set is already selected but set2 or tag are set. (conversion): New enum type. (cvlist_t): New type. (CVLIST, CVLIST_FIRST, CVLIST_REST): New macros. (conversion_lists): New array. (BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja", prefer conversion to Japanese character sets. If "zh", prefer conversion to GB2312. If "ko", prefer conversion to KSC5601. Small optimizations. (INIT_PARAMS): Add tag. (UPDATE_PARAMS): Add tag. 2001-06-04 Bruno Haible <haible@clisp.cons.org> * locale/programs/locfile.c (write_locale_data): Before creat(), unlink the file, to avoid crashing the processes that mmap it. Change a double slash to a single slash. Free fname in case of error return. 2001-06-02 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03 changes, do the special handling for denormal numbers, not for normalized numbers (patch by <trevin@xmission.com>). * math/test-misc.c (main): Test frexpl with denormal arguments. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/libm-test.inc (llround_test): Add two new llround tests. * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow overflow when rounding away from zero. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2. * math/math_private.h (__ieee754_log2, __ieee754_log2f, __ieee754_log2l): New prototypes. * sysdeps/generic/w_log2.c: New file. * sysdeps/generic/w_log2f.c: New file. * sysdeps/generic/w_log2l.c: New file. * sysdeps/generic/s_log2l.c: Move... * sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l. * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0) and log2(x < 0). * sysdeps/i386/fpu/s_log2.S: Move... * sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. * sysdeps/i386/fpu/s_log2f.S: Move... * sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. * sysdeps/i386/fpu/s_log2l.S: Move... * sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. * sysdeps/m68k/fpu/s_log2.S: Move... * sysdeps/m68k/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. * sysdeps/m68k/fpu/s_log2f.S: Move... * sysdeps/m68k/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. * sysdeps/m68k/fpu/s_log2l.S: Move... * sysdeps/m68k/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. * sysdeps/ieee754/dbl-64/s_log2.c: Move... * sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to __ieee754_log2. * sysdeps/ieee754/flt-32/s_log2f.c: Move... * sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to __ieee754_log2f. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that even arguments which result in denormalized exp2 are accepted. (__exp2): Arguments equal to u_threshold already result into underflow. * sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise. * sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise. * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too low, with corrected lowmark use greaterequal, not greater. * sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX. * sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf. * sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise. * sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise. * sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise. * sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise. * sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise. * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/w_coshl.c (__coshl): Test if finite argument gave non-finite result instead of using constant in generic version. * sysdeps/generic/w_coshf.c (__coshf): Likewise. * sysdeps/generic/w_cosh.c (__cosh): Likewise. * sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove. (__exp10): Test if finite argument gave non-finite result. * sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f): Likewise. * sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l): Likewise. 2001-06-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix overflow threshold constant (log(LDBL_MAX)+M_LN2l). 2001-05-29 Bruno Haible <haible@clisp.cons.org> * locale/programs/ld-ctype.c (idx_table): New struct type. (idx_table_init, idx_table_get, idx_table_add): New functions. (MAX_CHARNAMES_IDX): Remove macro. (locale_ctype_t): Change type of charnames_idx field. (ctype_startup): Change initialization of charnames_idx field. (find_idx): Use idx_table_get and idx_table_add for speed. * locale/programs/charmap.c (charmap_new_char): Fix ucs4 value computation of characters in a range. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for <U03F4>, <U03F5>. (__ucs_to_gb18030_tab1): Likewise. (BODY for FROM_LOOP): Add mapping for <U00010000>..<U0010FFFF>. (BODY for TO_LOOP): Likewise. * iconvdata/tst-table-charmap.sh: Update for charmaps containing <U00xxxxxx> syntax. * iconvdata/tst-table-from.c (bmp_only): New variable. (utf8_decode): If bmp_only, don't return characters outside Unicode plane 0. (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print a conversion line if utf8_decode returns NULL. * iconvdata/tst-table-to.c (main): When testing encodings other than UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8 instead of UCS-2 as input. * iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000 of the charmap. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * iconvdata/cns11643l1.c: Update to Unicode 3.1. (__cns11643l1_to_ucs4_tab): Regenerated. (__cns11643l1_from_ucs4_tab12): Regenerated. * iconvdata/cns11643.c: Update to Unicode 3.1. (__cns11643l14_to_ucs4_tab): Remove array. (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays. (__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab. (__cns11643_from_ucs4p2_tab): New array. * iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration. (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations. (cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14. (__cns11643_from_ucs4_tab): Remove declaration. (__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New declarations. (ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and U+20000..U+2A6D6. * iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove declaration. (__cns11643_from_ucs4p0_tab): New declaration. (ucs4_to_cns11643l2): Update for new arrays. * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes 3 to 7. (BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14. * iconvdata/EUC-TW.irreversible: New file. * iconvdata/tst-table.sh: Use it. * iconvdata/Makefile (distribute): Add CP1255.irreversible, CP1258.irreversible, EUC-TW.irreversible. 2001-05-29 Bruno Haible <haible@clisp.cons.org> * locale/C-translit.h.in: Add transliterations for new Unicode 3.1 mathematical symbols.
2001-06-06 14:55:46 +02:00
extern long double __ieee754_log2l (long double);
extern long double __ieee754_sinhl (long double);
extern long double __ieee754_hypotl (long double,long double);
extern long double __ieee754_j0l (long double);
extern long double __ieee754_j1l (long double);
extern long double __ieee754_y0l (long double);
extern long double __ieee754_y1l (long double);
extern long double __ieee754_jnl (int,long double);
extern long double __ieee754_ynl (int,long double);
extern long double __ieee754_remainderl (long double,long double);
extern int __ieee754_rem_pio2l (long double,long double*);
extern long double __ieee754_scalbl (long double,long double);
Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * po/header.pot: Replace with exact boilerplate pinard dictates. * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set errno and the check that jumped to it. * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx). Thu May 30 03:21:57 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Document need of gperf program for developers. * elf/elf.h: Fix typos in comments. * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add prototypes for `ctermid' and `cuserid'. * locale/programs/locale.c: Switch to user selected locale before printing variables. * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines and long-c-routines. Only if the `long double' data type is available we need to compile the functions. (libm-routines): Add $(long-m-routines). (routines): Remove isinfl, isnanl. Use new file s_isinfl and s_isnanl instead if `long double' is available. * math/math.h: Include <mathcalls.h> again to define `long double' functions. * math/math_private.h: Define data types, prototypes and access macros for `long double'. * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'. [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which calls __strto{,u}q_internal. * stdlib/strfmon.c: Replace PTR by `void *'. * stdlib/strtoq.c: Define strtoll as weak alias. * stdlib/strtouq.c: Define strtoull as weak alias. * string/tester.c: Correct `strsep' test. * sysdeps/generic/strsep.c: Make compatible with BSD version. Trailing characters of skip set are not skipped. In this case empty tokens are returned. * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c, sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c, sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed. We now use the versions part of libm. * sysdeps/i386/strsep.S: Removed. Generic C version is of similar speed. * sysdeps/i386/strtok.S: Remove support for `strsep'. * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S, sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S, sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c, sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c, sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S: New i387 specific math functions implementing `long double' versions. * sysdeps/libm-ieee754/s_ceill.c, sysdeps/libm-ieee754/s_copysignl.c, sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c, sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c, sysdeps/libm-ieee754/s_isnanl.c, sysdeps/libm-ieee754/s_nextafterl.c, sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c, sysdeps/libm-ieee754/s_significandl.c: New generic `long double' versions of libm functions. * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the Intel FPU nonsense. * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S, sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct handling of local variables. The old version created a stack frame but stored the values outside. * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c [!NO_LONG_DOUBLE]: Define alias with `long double' versions name. * login/pututline_r.c: Include sys/stat.h. Fix typos. according to currently used locale for category LC_CTYPE by inet_nsap_ntoa. Now in <arpa/inet.h>. _IO_dup2 to contain complete parameter list.
1996-05-30 18:12:42 +02:00
/* long double versions of fdlibm kernel functions */
extern long double __kernel_sinl (long double,long double,int);
extern long double __kernel_cosl (long double,long double);
extern long double __kernel_tanl (long double,long double,int);
extern void __kernel_sincosl (long double,long double,
long double *,long double *, int);
extern int __kernel_rem_pio2l (long double*,long double*,int,int,
int,const int*);
Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * po/header.pot: Replace with exact boilerplate pinard dictates. * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set errno and the check that jumped to it. * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx). Thu May 30 03:21:57 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Document need of gperf program for developers. * elf/elf.h: Fix typos in comments. * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add prototypes for `ctermid' and `cuserid'. * locale/programs/locale.c: Switch to user selected locale before printing variables. * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines and long-c-routines. Only if the `long double' data type is available we need to compile the functions. (libm-routines): Add $(long-m-routines). (routines): Remove isinfl, isnanl. Use new file s_isinfl and s_isnanl instead if `long double' is available. * math/math.h: Include <mathcalls.h> again to define `long double' functions. * math/math_private.h: Define data types, prototypes and access macros for `long double'. * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'. [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which calls __strto{,u}q_internal. * stdlib/strfmon.c: Replace PTR by `void *'. * stdlib/strtoq.c: Define strtoll as weak alias. * stdlib/strtouq.c: Define strtoull as weak alias. * string/tester.c: Correct `strsep' test. * sysdeps/generic/strsep.c: Make compatible with BSD version. Trailing characters of skip set are not skipped. In this case empty tokens are returned. * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c, sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c, sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed. We now use the versions part of libm. * sysdeps/i386/strsep.S: Removed. Generic C version is of similar speed. * sysdeps/i386/strtok.S: Remove support for `strsep'. * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S, sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S, sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c, sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c, sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S: New i387 specific math functions implementing `long double' versions. * sysdeps/libm-ieee754/s_ceill.c, sysdeps/libm-ieee754/s_copysignl.c, sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c, sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c, sysdeps/libm-ieee754/s_isnanl.c, sysdeps/libm-ieee754/s_nextafterl.c, sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c, sysdeps/libm-ieee754/s_significandl.c: New generic `long double' versions of libm functions. * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the Intel FPU nonsense. * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S, sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct handling of local variables. The old version created a stack frame but stored the values outside. * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c [!NO_LONG_DOUBLE]: Define alias with `long double' versions name. * login/pututline_r.c: Include sys/stat.h. Fix typos. according to currently used locale for category LC_CTYPE by inet_nsap_ntoa. Now in <arpa/inet.h>. _IO_dup2 to contain complete parameter list.
1996-05-30 18:12:42 +02:00
#ifndef NO_LONG_DOUBLE
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
/* prototypes required to compile the ldbl-96 support without warnings */
extern int __finitel (long double);
extern int __ilogbl (long double);
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
extern int __isinfl (long double);
extern int __isnanl (long double);
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
extern long double __atanl (long double);
extern long double __copysignl (long double, long double);
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
extern long double __expm1l (long double);
extern long double __floorl (long double);
extern long double __frexpl (long double, int *);
extern long double __ldexpl (long double, int);
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
extern long double __log1pl (long double);
extern long double __nanl (const char *);
extern long double __rintl (long double);
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
extern long double __scalbnl (long double, int);
extern long double __sqrtl (long double x);
extern long double fabsl (long double x);
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
extern void __sincosl (long double, long double *, long double *);
extern long double __logbl (long double x);
extern long double __significandl (long double x);
#if __GNUC_PREREQ (4, 0)
extern inline long double __copysignl (long double x, long double y)
{ return __builtin_copysignl (x, y); }
#endif
#endif
Update. 2000-09-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc32/bits/endian.h: Remove. * sysdeps/sparc/sparc32/ieee754.h: New. * sysdeps/sparc/sparc64/bits/endian.h: Move... * sysdeps/sparc/bits/endian.h: ...here. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Optimize. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Check %o1, not %o0 to see if we're parent or child. Optimize. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/unix/sysv/linux/ia64/fork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/vfork.S: New file (based on code by Hans Boehm). * sysdeps/unix/sysv/linux/ia64/fork.c: Deleted (obsoleted by fork.S). 2000-09-20 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/fpu/printf_fphex.c: New file. * sysdeps/ia64/fpu/libm-test-ulps: New file. 2000-09-17 H.J. Lu <hjl@gnu.org> * sysdeps/ia64/Makefile (long-double-fcts): New. Defined as yes. * sysdeps/ia64/fpu/s_isinfl.c: New file. Include sysdeps/i386/fpu/s_isinfl.c. * sysdeps/ia64/fpu/s_isnanl.c: New file. Include sysdeps/i386/fpu/s_isnanl.c. * sysdeps/ia64/fpu/s_nextafterl.c: New file. Include sysdeps/i386/fpu/s_nextafterl.c. * sysdeps/ia64/fpu/bits/mathdef.h: New file. Copied from sysdeps/i386/fpu/bits/mathdef.h. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_UNMAP): New. Defined if DL_UNMAP_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (DL_UNMAP_IS_SPECIAL): Defined. (_dl_unmap): New prototype. (DL_UNMAP): New. Defined as _dl_unmap. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_unmap. * elf/dl-close.c (_dl_close): Replace __munmap with DL_UNMAP. 2000-09-16 H.J. Lu <hjl@gnu.org> * sysdeps/generic/ldsodefs.h (DL_LOOKUP_ADDRESS): New. Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): New prototype. (DL_LOOKUP_ADDRESS): New. Defined as _dl_lookup_address. * sysdeps/ia64/dl-fptr.c (_dl_lookup_address): New. Lookup the memory location of a function from a function descriptor. * sysdeps/ia64/Versions [ld] (GLIBC_2.2): Add _dl_lookup_address. * elf/dl-addr.c (_dl_addr): Use DL_LOOKUP_ADDRESS to get the memory location. 2000-09-14 Jes Sorensen <jes@linuxcare.com> * sysdeps/ia64/bits/byteswap.h (__bswap_16): Don't mark output variable as input argument. (__bswap_32): Likewise. * sysdeps/ia64/dl-machine.h: Add missing stop bit in RTLD_START() - found by Jim Wilson <wilson@cygnus.com> 2000-09-26 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c: Only require alignment on __alignof__ (int32_t) instead of 4. 2000-09-26 Andreas Schwab <schwab@suse.de> * locale/programs/ld-collate.c (collate_output): Only require alignment on __alignof__ (int32_t) instead of 4. * locale/loadlocale.c (_nl_load_locale): Likewise. * string/strcoll.c: Likewise. 2000-09-26 Jes Sorensen <jes@linuxcare.com> * sysdeps/ieee754/ldbl-96/e_atan2l.c (__ieee754_atan2l): Add parentheses around arithmetic used in | statement to kill compiler warning. * math/math_private.h: Add prototype for __finitel. (__ilogbl): Likewise. (__isinfl): Likewise. (__isnanl): Likewise. (__atanl): Likewise. (__copysignl): Likewise. (__expm1l): Likewise. (__floorl): Likewise. (__frexpl): Likewise. (__ldexpl): Likewise. (__log1pl): Likewise. (__nanl): Likewise. (__rintl): Likewise. (__scalbnl): Likewise. (__sqrtl): Likewise. (fabsl): Likewise. (__sincosl): Likewise. (si_isr) [USE_GNU]: Likewise. (ILL_BREAK) [USE_GNU]: Likewise. (FPE_DECOVF) [USE_GNU]: Likewise. (FPE_DECDIV) [USE_GNU]: Likewise. (FPE_DECERR) [USE_GNU]: Likewise. (FPE_INVASC) [USE_GNU]: Likewise. (FPE_INVDEC) [USE_GNU]: Likewise. (TRAP_BRANCH) [USE_GNU]: Likewise. (TRAP_HWBKPT) [USE_GNU]: Likewise. * sysdeps/ieee754/flt-32/s_exp2f.c: Likewise.
2000-09-26 21:13:37 +02:00
/* Prototypes for functions of the IBM Accurate Mathematical Library. */
extern double __exp1 (double __x, double __xx, double __error);
extern double __sin (double __x);
extern double __cos (double __x);
extern int __branred (double __x, double *__a, double *__aa);
extern void __doasin (double __x, double __dx, double __v[]);
extern void __dubsin (double __x, double __dx, double __v[]);
extern void __dubcos (double __x, double __dx, double __v[]);
extern double __halfulp (double __x, double __y);
extern double __sin32 (double __x, double __res, double __res1);
extern double __cos32 (double __x, double __res, double __res1);
extern double __mpsin (double __x, double __dx);
extern double __mpcos (double __x, double __dx);
extern double __mpsin1 (double __x);
extern double __mpcos1 (double __x);
extern double __slowexp (double __x);
extern double __slowpow (double __x, double __y, double __z);
extern void __docos (double __x, double __dx, double __v[]);
[BZ #3306] 2007-03-27 Jakub Jelinek <jakub@redhat.com> [BZ #3306] * math/math_private.h (math_opt_barrier, math_force_eval): Define. * sysdeps/i386/fpu/math_private.h: New file. * sysdeps/x86_64/fpu/math_private.h: New file. * math/s_nexttowardf.c (__nexttowardf): Use math_opt_barrier and math_force_eval macros. Use "+m" constraint on asm rather than "=m" and "m". * math/s_nextafter.c (__nextafter): Likewise. * sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c (__nexttoward): Likewise. * sysdeps/ieee754/flt-32/s_nextafterf.c (__nextafterf): Likewise. * sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward): Likewise. * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise. * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Use math_opt_barrier and math_force_eval macros. * sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl): Likewise. * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Likewise. * sysdeps/i386/fpu/s_nexttoward.c: Include float.h. (__nexttoward): Use math_opt_barrier and math_force_eval macros. Use "+m" constraint on asm rather than "=m" and "m". Only use asm to force double result if FLT_EVAL_METHOD is 2. * sysdeps/i386/fpu/s_nexttowardf.c: Include float.h. (__nexttowardf): Use math_opt_barrier and math_force_eval macros. Use "+m" constraint on asm rather than "=m" and "m". Only use asm to force double result if FLT_EVAL_METHOD is not 0. * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Include float.h. (__nexttowardf): Use math_opt_barrier and math_force_eval macros. If FLT_EVAL_METHOD is not 0, force x to float using asm. * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: Include float.h. (__nldbl_nexttowardf): Use math_opt_barrier and math_force_eval macros. If FLT_EVAL_METHOD is not 0, force x to float using asm. * sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Include float.h. (__nexttowardf): Use math_opt_barrier and math_force_eval macros. If FLT_EVAL_METHOD is not 0, force x to float using asm. * math/bug-nextafter.c (zero, inf): New variables. (main): Add new tests. * math/bug-nexttoward.c (zero, inf): New variables. (main): Add new tests.
2007-04-16 22:41:42 +02:00
#ifndef math_opt_barrier
#define math_opt_barrier(x) \
({ __typeof (x) __x = x; __asm ("" : "+m" (__x)); __x; })
#define math_force_eval(x) __asm __volatile ("" : : "m" (x))
#endif
#endif /* _MATH_PRIVATE_H_ */