/* $NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $ */ /* * Written by Klaus Klein , November 16, 2005. * Public domain. */ /* * NOTICE: This is not a standalone file. To use it, #include it in * the format-specific strtold_*.c, like so: * * #define GDTOA_LD_FMT * #include "strtold_subr.c" */ #include #if defined(LIBC_SCCS) && !defined(lint) __RCSID("$NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include #include #include "gdtoa.h" #ifdef __weak_alias __weak_alias(strtold, _strtold) #endif #ifndef __HAVE_LONG_DOUBLE #error no extended-precision long double type #endif #ifndef GDTOA_LD_FMT #error GDTOA_LD_FMT must be defined by format-specific source file #endif #define STRTOP(x) __CONCAT(strtop, x) long double strtold(const char *nptr, char **endptr) { long double ld; (void)STRTOP(GDTOA_LD_FMT)(nptr, endptr, &ld); return ld; }