Blame stdlib/strtof_l.c

Packit 6c4009
/* Convert string representing a number to float value, using given locale.
Packit 6c4009
   Copyright (C) 1997-2018 Free Software Foundation, Inc.
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public
Packit 6c4009
   License as published by the Free Software Foundation; either
Packit 6c4009
   version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library; if not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
#include <bits/floatn.h>
Packit 6c4009
Packit 6c4009
#if __HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32
Packit 6c4009
# define strtof32_l __hide_strtof32_l
Packit 6c4009
# define wcstof32_l __hide_wcstof32_l
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#include <locale.h>
Packit 6c4009
Packit 6c4009
extern float ____strtof_l_internal (const char *, char **, int, locale_t);
Packit 6c4009
Packit 6c4009
#define	FLOAT		float
Packit 6c4009
#define	FLT		FLT
Packit 6c4009
#ifdef USE_WIDE_CHAR
Packit 6c4009
# define STRTOF		wcstof_l
Packit 6c4009
# define __STRTOF	__wcstof_l
Packit 6c4009
# define STRTOF_NAN	__wcstof_nan
Packit 6c4009
#else
Packit 6c4009
# define STRTOF		strtof_l
Packit 6c4009
# define __STRTOF	__strtof_l
Packit 6c4009
# define STRTOF_NAN	__strtof_nan
Packit 6c4009
#endif
Packit 6c4009
#define	MPN2FLOAT	__mpn_construct_float
Packit 6c4009
#define	FLOAT_HUGE_VAL	HUGE_VALF
Packit 6c4009
Packit 6c4009
#include "strtod_l.c"
Packit 6c4009
Packit 6c4009
#if __HAVE_FLOAT32 && !__HAVE_DISTINCT_FLOAT32
Packit 6c4009
# undef strtof32_l
Packit 6c4009
# undef wcstof32_l
Packit 6c4009
# ifdef USE_WIDE_CHAR
Packit 6c4009
weak_alias (wcstof_l, wcstof32_l)
Packit 6c4009
# else
Packit 6c4009
weak_alias (strtof_l, strtof32_l)
Packit 6c4009
# endif
Packit 6c4009
#endif