mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	The implementations are contained with sysdeps/ieee754/float128 as they are only built when _Float128 is enabled within libc/m. * include/gmp.h (__mpn_construct_float128): New declaration. * include/stdlib.h: Include bits/floatn.h for _Float128 tests. (__strtof128_l): New declaration. (__strtof128_nan): Likewise. (__wcstof128_nan): Likewise. (__strtof128_internal): Likewise. (____strtof128_l_internal): Likewise. * include/wchar.h: Include bits/floatn.h for _Float128 tests. (__wcstof128_l): New declaration. (__wcstof128_internal): Likewise. * stdlib/Makefile (bug-strtod2): Link libm too. * stdlib/stdlib.h (strtof128): New declaration. (strtof128_l): Likewise. * stdlib/tst-strtod-nan-locale-main.c: Updated to use tst-strtod.h macros to ensure float128 gets tested too. * stdlib/tst-strtod-round-skeleton.c (CHOOSE_f128): New macro. * stdlib/tst-strtod.h: Include bits/floatn.h for _Float128 tests. (IF_FLOAT128): New macro. (GEN_TEST_STRTOD): Update to optionally include _Float128 in the tests. (STRTOD_TEST_FOREACH): Likewise. * sysdeps/ieee754/float128/Makefile: Insert new strtof128 and wcstof128 functions into libc. * sysdeps/ieee754/float128/Versions: Add exports for the above new functions. * sysdeps/ieee754/float128/mpn2float128.c: New file. * sysdeps/ieee754/float128/strtod_nan_float128.h: New file. * sysdeps/ieee754/float128/strtof128.c: New file. * sysdeps/ieee754/float128/strtof128_l.c: New file. * sysdeps/ieee754/float128/strtof128_nan.c: New file. * sysdeps/ieee754/float128/wcstof128.c: New file. * sysdeps/ieee754/float128/wcstof128_l.c: New file. * sysdeps/ieee754/float128/wcstof128_nan.c: New fike. * wcsmbs/Makefile: (CFLAGS-wcstof128.c): Append strtox-CFLAGS. (CFLAGS-wcstof128_l): Likewise. * wcsmbs/wchar.h: Include bits/floatn.h for _Float128 tests. (wcstof128): New declaration. (wcstof128_l): Likewise.
		
			
				
	
	
		
			161 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
%include <float128-abi.h>
 | 
						|
%ifndef FLOAT128_VERSION
 | 
						|
% error "float128-abi.h must define FLOAT128_VERSION"
 | 
						|
%endif
 | 
						|
libc {
 | 
						|
  FLOAT128_VERSION {
 | 
						|
    __strtof128_internal;
 | 
						|
    __wcstof128_internal;
 | 
						|
    strfromf128;
 | 
						|
    strtof128;
 | 
						|
    strtof128_l;
 | 
						|
    wcstof128;
 | 
						|
    wcstof128_l;
 | 
						|
  }
 | 
						|
  GLIBC_PRIVATE {
 | 
						|
    # For __nanf128.
 | 
						|
    __strtof128_nan;
 | 
						|
  }
 | 
						|
}
 | 
						|
libm {
 | 
						|
  FLOAT128_VERSION {
 | 
						|
    __acosf128_finite;
 | 
						|
    __acoshf128_finite;
 | 
						|
    __asinf128_finite;
 | 
						|
    __atan2f128_finite;
 | 
						|
    __atanhf128_finite;
 | 
						|
    __coshf128_finite;
 | 
						|
    __exp10f128_finite;
 | 
						|
    __exp2f128_finite;
 | 
						|
    __expf128_finite;
 | 
						|
    __finitef128;
 | 
						|
    __fmodf128_finite;
 | 
						|
    __fpclassifyf128;
 | 
						|
    __gammaf128_r_finite;
 | 
						|
    __hypotf128_finite;
 | 
						|
    __iseqsigf128;
 | 
						|
    __isinff128;
 | 
						|
    __isnanf128;
 | 
						|
    __issignalingf128;
 | 
						|
    __j0f128_finite;
 | 
						|
    __j1f128_finite;
 | 
						|
    __jnf128_finite;
 | 
						|
    __lgammaf128_r_finite;
 | 
						|
    __log10f128_finite;
 | 
						|
    __log2f128_finite;
 | 
						|
    __logf128_finite;
 | 
						|
    __powf128_finite;
 | 
						|
    __remainderf128_finite;
 | 
						|
    __signbitf128;
 | 
						|
    __sinhf128_finite;
 | 
						|
    __sqrtf128_finite;
 | 
						|
    __y0f128_finite;
 | 
						|
    __y1f128_finite;
 | 
						|
    __ynf128_finite;
 | 
						|
    acosf128;
 | 
						|
    acoshf128;
 | 
						|
    asinf128;
 | 
						|
    asinhf128;
 | 
						|
    atan2f128;
 | 
						|
    atanf128;
 | 
						|
    atanhf128;
 | 
						|
    cabsf128;
 | 
						|
    cacosf128;
 | 
						|
    cacoshf128;
 | 
						|
    canonicalizef128;
 | 
						|
    cargf128;
 | 
						|
    casinf128;
 | 
						|
    casinhf128;
 | 
						|
    catanf128;
 | 
						|
    catanhf128;
 | 
						|
    cbrtf128;
 | 
						|
    ccosf128;
 | 
						|
    ccoshf128;
 | 
						|
    ceilf128;
 | 
						|
    cexpf128;
 | 
						|
    cimagf128;
 | 
						|
    clog10f128;
 | 
						|
    clogf128;
 | 
						|
    conjf128;
 | 
						|
    copysignf128;
 | 
						|
    cosf128;
 | 
						|
    coshf128;
 | 
						|
    cpowf128;
 | 
						|
    cprojf128;
 | 
						|
    crealf128;
 | 
						|
    csinf128;
 | 
						|
    csinhf128;
 | 
						|
    csqrtf128;
 | 
						|
    ctanf128;
 | 
						|
    ctanhf128;
 | 
						|
    erfcf128;
 | 
						|
    erff128;
 | 
						|
    exp10f128;
 | 
						|
    exp2f128;
 | 
						|
    expf128;
 | 
						|
    expm1f128;
 | 
						|
    fabsf128;
 | 
						|
    fdimf128;
 | 
						|
    floorf128;
 | 
						|
    fmaf128;
 | 
						|
    fmaxf128;
 | 
						|
    fmaxmagf128;
 | 
						|
    fminf128;
 | 
						|
    fminmagf128;
 | 
						|
    fmodf128;
 | 
						|
    frexpf128;
 | 
						|
    fromfpf128;
 | 
						|
    fromfpxf128;
 | 
						|
    getpayloadf128;
 | 
						|
    hypotf128;
 | 
						|
    ilogbf128;
 | 
						|
    j0f128;
 | 
						|
    j1f128;
 | 
						|
    jnf128;
 | 
						|
    ldexpf128;
 | 
						|
    lgammaf128;
 | 
						|
    lgammaf128_r;
 | 
						|
    llogbf128;
 | 
						|
    llrintf128;
 | 
						|
    llroundf128;
 | 
						|
    log10f128;
 | 
						|
    log1pf128;
 | 
						|
    log2f128;
 | 
						|
    logbf128;
 | 
						|
    logf128;
 | 
						|
    lrintf128;
 | 
						|
    lroundf128;
 | 
						|
    modff128;
 | 
						|
    nanf128;
 | 
						|
    nearbyintf128;
 | 
						|
    nextafterf128;
 | 
						|
    nextdownf128;
 | 
						|
    nextupf128;
 | 
						|
    powf128;
 | 
						|
    remainderf128;
 | 
						|
    remquof128;
 | 
						|
    rintf128;
 | 
						|
    roundevenf128;
 | 
						|
    roundf128;
 | 
						|
    scalblnf128;
 | 
						|
    scalbnf128;
 | 
						|
    setpayloadf128;
 | 
						|
    setpayloadsigf128;
 | 
						|
    sincosf128;
 | 
						|
    sinf128;
 | 
						|
    sinhf128;
 | 
						|
    sqrtf128;
 | 
						|
    tanf128;
 | 
						|
    tanhf128;
 | 
						|
    tgammaf128;
 | 
						|
    totalorderf128;
 | 
						|
    totalordermagf128;
 | 
						|
    truncf128;
 | 
						|
    ufromfpf128;
 | 
						|
    ufromfpxf128;
 | 
						|
    y0f128;
 | 
						|
    y1f128;
 | 
						|
    ynf128;
 | 
						|
  }
 | 
						|
}
 |