about summary refs log tree commit diff
path: root/sysdeps/ieee754
Commit message (Collapse)AuthorAgeFilesLines
* finite for 64-bit platformsUlrich Drepper2011-09-151-0/+32
|
* Optimize logb code for 64-bit machinesUlrich Drepper2011-09-121-0/+44
|
* Fix jn precisionPetr Baudis2011-09-095-5/+50
|
* Fix lround() loses precisionPaul Pluzhnikov2011-09-081-1/+1
|
* Check for finite/infinity parms in IBM Long Double 128 fmal( )Ulrich Drepper2011-09-071-0/+39
| | | | | | | | | | | This patch addresses some IBM Long Double 128 fmal () test-ldouble.out and test-ildoubl.out failures. If the ‘x’ and ‘y’ parameters are finite values and ‘z’ is infinity, the result of fmal () should be ‘z’ not NaN. Conflicts: ChangeLog
* Fix up __kernel_rem_pio2 for FLT_EVAL_METHOD != 0 architecturesJakub Jelinek2011-08-041-6/+12
|
* ldbl-128 fmal compile fixJakub Jelinek2010-11-221-1/+1
|
* Fix comparison in sqrtl for IBM long double 128.Luis Machado2010-11-101-2/+2
|
* IEEE quad fmal fixesJakub Jelinek2010-10-181-2/+4
|
* Implement fmal, some fma bugfixesJakub Jelinek2010-10-155-3/+467
|
* Fix some more dbl-64/s_fma.c issueJakub Jelinek2010-10-151-15/+88
|
* Implement accurate fma.Jakub Jelinek2010-10-135-2/+268
|
* Correct implementation of fmaf.Jakub Jelinek2010-10-111-0/+50
|
* Fix cproj implmentation.Ulrich Drepper2010-04-081-17/+5
|
* sysdeps/ieee754/ldbl-128/ fixesJakub Jelinek2010-01-165-15/+13
|
* Readd definition of __expl in ldbl-128Joseph S. Myers2009-10-281-0/+1
|
* Correct errno handling in expm1.Andreas Schwab2009-10-193-0/+3
|
* configure tweaks, support $libc_add_on_config_subdirsRoland McGrath2009-09-151-27/+24
|
* Add isinf optimized for 64-bit.Ulrich Drepper2009-08-261-0/+30
|
* Optimized isnan for 64-bit machines.Ulrich Drepper2009-08-261-0/+39
|
* Make llround an alias for lround on 64-bit machines.Ulrich Drepper2009-08-252-0/+14
|
* Optimized nearbyint for 64-bit.Ulrich Drepper2009-08-251-0/+86
|
* Optimized rint implementation for x86-64.Ulrich Drepper2009-08-251-0/+79
|
* Add 64-bit optimized s_round.Ulrich Drepper2009-08-251-0/+77
|
* Optimize out duplicated scalbln code for x86-64.Ulrich Drepper2009-08-251-6/+6
|
* Add 64-bit optimized scalbln.Ulrich Drepper2009-08-251-0/+68
|
* Add 64-bit optimized version lround.Ulrich Drepper2009-08-251-0/+67
|
* 64-bit optimized implementation of trunc.Ulrich Drepper2009-08-251-0/+56
|
* Add ceil implementation for 64-bit machines.Ulrich Drepper2009-08-241-0/+67
| | | | | | | On 64-bit machines we should not split doubles into two 32 bit integer and handle the words separately. We have wide registers. This patch implements a 64-bit ceil version. Ideally all other functions will be converted over time.
* Fix errno for boundary conditions in 128-bit long double.Ulrich Drepper2009-05-294-4/+32
| | | | | Similar to the changes which went already in for the other formats, follow POSIX rules for errno.
* Fix errno for IBM long double.Andreas Schwab2009-05-224-7/+22
| | | | | After the last addition to the math test suite PPC routines haven't been adjusted so far.
* * sysdeps/ieee754/dbl-64/s_expm1.c: Set errno for overflow.Ulrich Drepper2009-04-272-2/+10
| | | | | * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. * sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
* * sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors inUlrich Drepper2009-04-271-1/+1
| | | | atanh should set ERANGE.
* * sysdeps/ieee754/dbl-64/s_tan.c (tan): Fix -Wsequence-point warnings.Ulrich Drepper2009-04-261-7/+14
|
* * sysdeps/i386/fpu/s_tan.S: Set errno for ±Inf.Ulrich Drepper2009-04-262-4/+15
| | | | | | | | | | * sysdeps/i386/fpu/s_tanf.S: Likewise. * sysdeps/i386/fpu/s_tanl.S: Likewise. * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. * sysdeps/ieee754/flt-32/s_tanf.c: Likewise. * sysdeps/x86_64/fpu/s_tanl.S: Likewise. * math/libm-test.inc: Add tests for errno after tan calls with ±Inf.
* * sysdeps/ieee754/k_standard.c (__kernel_standard): Use correctUlrich Drepper2009-04-261-2/+2
| | | | | | errno value vor pow(+-0,neg). * math/libm-test.inc (pow_test): Add tests for errno value for pole errors.
* * sysdeps/i386/fpu/s_cos.S: Set errno for ±Inf.Ulrich Drepper2009-04-265-9/+38
| | | | | | | | | | | | | | | | | * sysdeps/i386/fpu/s_cosf.S: Likewise. * sysdeps/i386/fpu/s_cosl.S: Likewise. * sysdeps/i386/fpu/s_sin.S: Likewise. * sysdeps/i386/fpu/s_sinf.S: Likewise. * sysdeps/i386/fpu/s_sinl.S: Likewise. * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. * sysdeps/ieee754/flt-32/s_cosf.c: Likewise. * sysdeps/ieee754/flt-32/s_sinf.c: Likewise. * sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise. * sysdeps/x86_64/fpu/s_cosl.S: Likewise. * sysdeps/x86_64/fpu/s_sinl.S: Likewise. * math/libm-test.inc: Add tests for errno after sin/cos calls with ±Inf.
* * sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errorsUlrich Drepper2009-04-251-2/+2
| | | | | for lgamma should se errno to ERANGE, not EDOM. * math/libm-test.inc (lgamma_test): Check errno for pole errors.
* [BZ #3406]Ulrich Drepper2008-05-111-1/+1
| | | | | | | 2008-02-11 Joseph Myers <joseph@codesourcery.com> [BZ #3406] * sysdeps/ieee754/flt-32/w_expf.c (o_threshold): Correct value. * math/libm-test.inc (exp_test): Test 88.72269439697265625.
* * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee751_j0l): Use __finitel.Ulrich Drepper2008-05-104-13/+6
| | | | | | | | | | | (__ieee754_y0l): Likewise. * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise. (__ieee754_y1l): Likewise. * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use __ldexpl. * sysdeps/ieee754/ldbl-128/s_log1pl.c: Kill bogus prototypes for frexpl and ldexpl. math_private.h provides them and the latter is not even used. (__log1pl): Use __frexpl.
* * sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c (__nearbyintl): UseUlrich Drepper2008-04-121-4/+4
| | | | __nextafter instead of nextafter to avoid local PLT.
* * sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto forUlrich Drepper2008-04-125-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __fe_nomask_env. * sysdeps/powerpc/fpu/fe_nomask.c: Add libm_hidden_def. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise. * sysdeps/powerpc/bits/fenv.h: Make safe for C++. * sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: New file. * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Rename function from fegetexcept and make old name weak alias. * include/fenv.h: Declare __fegetexcept. * sysdeps/powerpc/fpu/fedisblxcpt.c: Use __fegetexcept instead of fegetexcept. * sysdeps/powerpc/fpu/feenablxcpt.c: Likewise. * sysdeps/powerpc/fpu/fraiseexcpt.c (__feraiseexcept): Avoid call to fetestexcept. * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Use __frexpl instead of frexpl to avoid local PLT. * math/s_significandl.c (__significandl): Use __ilogbl instead of ilogbl to avoid local PLT. * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Use __ldexpl instead of ldexpl to avoid local PLT. * sysdeps/ieee754/ldbl-128ibm/e_expl.c (__ieee754_expl): Use __roundl not roundl to avoid local PLT. * sysdeps/ieee754/ldbl-128/e_j0l.c: Use function names which avoid local PLTs. Use __sincosl instead of separate sinl and cosl calls. * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
* [BZ #4407]Ulrich Drepper2008-04-101-0/+6
| | | | | | | 2008-02-12 Pete Eberlein <eberlein@us.ibm.com> [BZ #4407] * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r): Preserve sign in signgamp when x is zero.
* [BZ #5857]Ulrich Drepper2008-03-242-3/+17
| | | | | | | | | | | 2008-03-09 Andreas Jaeger <aj@suse.de> [BZ #5857] * sysdeps/ieee754/dbl-64/s_rint.c (__rint): Handle j0==18. * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Likewise. Patch by Mark Elliott <mark.h.elliott@lmco.com>. * math/libm-test.inc (nearbyint_test): Add new test cases from #5857. (rint_test): Likewise.
* [BZ #5753] Andreas Jaeger2008-03-101-4/+4
| | | | | | | * sysdeps/ia64/ieee754.h: Use protected namespace __BIG_ENDIAN/__LITTLE_ENDIAN. * sysdeps/ieee754/ieee754.h: Likewise. Patch by Aurelien Jarno <aurelien@aurel32.net>.
* * include/stdio.h (__asprintf_chk, __dprintf_chk, cvs/fedora-glibc-20080305T0857Ulrich Drepper2008-03-0510-2/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __obstack_printf_chk): New prototypes. (__vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Likewise. Add libc_hidden_proto. * libio/obprintf.c (_IO_obstack_jumps): No longer static, add attribute_hidden. * libio/bits/stdio-ldbl.h (__asprintf_chk, __dprintf_chk, __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Add __LDBL_REDIR_DECL. * libio/bits/stdio2.h (__asprintf_chk, __dprintf_chk, __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): New prototypes. (asprintf, __asprintf, dprintf, obstack_printf, vasprintf, vdprintf, obstack_vprintf): New inlines. * debug/dprintf_chk.c: New file. * debug/vdprintf_chk.c: New file. * debug/asprintf_chk.c: New file. * debug/vasprintf_chk.c: New file. * debug/obprintf_chk.c: New file. * debug/tst-chk1.c (do_test): Add asprintf and obstack_printf tests. * debug/Versions (__asprintf_chk, __dprintf_chk, __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Export @@GLIBC_2.8. * debug/Makefile: Build asprintf_chk, vasprintf_chk, dprintf_chk, vdprintf_chk and obprintf_chk, set CFLAGS for them. * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vasprintf_chk, __nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): Add libc_hidden_proto. * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl___vasprintf_chk, __nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): New prototypes. * sysdeps/ieee754/ldbl-opt/Versions (__nldbl___asprintf_chk, __nldbl___vasprintf_chk, __nldbl___dprintf_chk, __nldbl___vdprintf_chk, __nldbl___obstack_printf_chk, __nldbl___obstack_vprintf_chk): Export @@GLIBC_2.8. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add asprintf_chk, vasprintf_chk, dprintf_chk, vdprintf_chk, obstack_printf_chk and obstack_vprintf_chk. * sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c: New file.
* Fix size of union.Andreas Jaeger2007-11-151-2/+2
|
* [BZ #4407]Ulrich Drepper2007-10-063-5/+19
| | | | | | | | | * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0. * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise. * math/libm-test.inc: Add test for this case. Half the patch by Christian Iseli <christian.iseli@licr.org>.
* * include/stdio.h (__isoc99_fscanf, __isoc99_scanf,Ulrich Drepper2007-09-1816-3/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __isoc99_sscanf, __isoc99_vscanf): New prototypes. (__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add libc_hidden_proto. * include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf, __isoc99_swscanf, __isoc99_vwscanf): New prototypes. (__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes, add libc_hidden_proto. * libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf, vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX conformance requested. * wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX conformance requested. * libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf, vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX conformance requested. * wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX conformance requested. * stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7, __isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7, __isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7 and __isoc99_vsscanf@@GLIBC_2.7. * stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf, isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf. (tests): Add scanf14. (CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c, CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c, CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c, CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c, CFLAGS-isoc99_scanf.c): Add $(exceptions). (CFLAGS-scanf15.c): Add various -I paths to prevent the compiler from using internal headers. * wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7, __isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7, __isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7 and __isoc99_vswscanf@@GLIBC_2.7. * wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf, isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf. (CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c, CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions). (CPPFLAGS): Add -D_IO_MTSAFE_IO if needed. * stdio-common/isoc99_scanf.c: New file. * stdio-common/isoc99_vsscanf.c: New file. * stdio-common/isoc99_vscanf.c: New file. * stdio-common/isoc99_vfscanf.c: New file. * stdio-common/isoc99_fscanf.c: New file. * stdio-common/isoc99_sscanf.c: New file. * wcsmbs/isoc99_fwscanf.c: New file. * wcsmbs/isoc99_vswscanf.c: New file. * wcsmbs/isoc99_swscanf.c: New file. * wcsmbs/isoc99_wscanf.c: New file. * wcsmbs/isoc99_vwscanf.c: New file. * wcsmbs/isoc99_vfwscanf.c: New file. * libio/libio.h (_IO_FLAGS2_SCANF_STD): Define. * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also clear _IO_FLAGS2_SCANF_STD bit from _flags2. * stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2. * stdio-common/scanf14.c: New test. * stdio-common/scanf15.c: New test. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add isoc99_scanf, isoc99_fscanf, isoc99_sscanf, isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf, isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf, isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf. * sysdeps/ieee754/ldbl-opt/Versions (libc): Export __nldbl___isoc99_scanf@@GLIBC_2.7, __nldbl___isoc99_fscanf@@GLIBC_2.7, __nldbl___isoc99_sscanf@@GLIBC_2.7, __nldbl___isoc99_vscanf@@GLIBC_2.7, __nldbl___isoc99_vfscanf@@GLIBC_2.7, __nldbl___isoc99_vsscanf@@GLIBC_2.7, __nldbl___isoc99_wscanf@@GLIBC_2.7, __nldbl___isoc99_fwscanf@@GLIBC_2.7, __nldbl___isoc99_swscanf@@GLIBC_2.7, __nldbl___isoc99_vwscanf@@GLIBC_2.7, __nldbl___isoc99_vfwscanf@@GLIBC_2.7 and __nldbl___isoc99_vswscanf@@GLIBC_2.7. * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf, __isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf, __isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf, __isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf, __isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL. * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf, __nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf, __nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf, __nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf, __nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf, __nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New functions. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file. * stdio-common/Makefile (tests): Add scanf13. (scanf13-ENV): New. * stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle m modifier followed by l. (STRING_ARG): Add width argument. (_IO_vfscanf_internal) <case L_('c')>: Handle %mc. <case L_('C')>: Handle %mlc and %mC. <case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG arguments. * stdio-common/scanf13.c: New test. * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags. type and __THROW marker of splice, vmsplice, and tee.
* * sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare. Jakub Jelinek2007-08-141-3/+8
| | | | | | | | | | | | | | | | | | | | Add libc_hidden_proto. (STRTOF): Add libc_hidden_proto. (___new_strtold_l, ___new_wcstold_l): New weak aliases. (strtold_l, wcstold_l): Use them as second argument for long_double_symbol. nptl/ * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (__lll_unlock, __lll_robust_unlock): Rewrite as macros instead of inline functions. * sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_unlock, __lll_robust_unlock, __lll_wait_tid): Likewise. 2007-08-14 Jakub Jelinek <jakub@redhat.com> * sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare. Add libc_hidden_proto. (STRTOF): Add libc_hidden_proto. (___new_strtold_l, ___new_wcstold_l): New weak aliases. (strtold_l, wcstold_l): Use them as second argument for long_double_symbol.