OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libquadmath/] [strtod/] [strtoflt128.c] - Blame information for rev 740

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 740 jeremybenn
/* Copyright (C) 1999, 2004 Free Software Foundation, Inc.
2
   This file is part of the GNU C Library.
3
 
4
   The GNU C Library is free software; you can redistribute it and/or
5
   modify it under the terms of the GNU Lesser General Public
6
   License as published by the Free Software Foundation; either
7
   version 2.1 of the License, or (at your option) any later version.
8
 
9
   The GNU C Library is distributed in the hope that it will be useful,
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
   Lesser General Public License for more details.
13
 
14
   You should have received a copy of the GNU Lesser General Public
15
   License along with the GNU C Library; if not, write to the Free
16
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17
   02111-1307 USA.  */
18
 
19
/* The actual implementation for all floating point sizes is in strtod.c.
20
   These macros tell it to produce the `__float128' version, `strtold'.  */
21
 
22
#define FLOAT           __float128
23
#define FLT             FLT128
24
#ifdef USE_WIDE_CHAR
25
# define STRTOF         wcstoflt128
26
# define __STRTOF       __wcstoflt128
27
#else
28
# define STRTOF         strtoflt128
29
# define __STRTOF       __strtoflt128
30
#endif
31
#define MPN2FLOAT       mpn_construct_float128
32
#define FLOAT_HUGE_VAL  HUGE_VALQ
33
#define SET_MANTISSA(flt, mant) \
34
  do { ieee854_float128 u;                                                    \
35
       u.value = (flt);                                                       \
36
       u.ieee.mant_high = 0x800000000000ULL;                                  \
37
       u.ieee.mant_low = mant;                                                \
38
       (flt) = u.value;                                                       \
39
  } while (0)
40
 
41
static inline __attribute__((__always_inline__))
42
__float128 ____strtoflt128_internal (const char *, char **, int);
43
 
44
#include "strtod_l.c"
45
 
46
__float128
47
strtoflt128 (const char *nptr, char **endptr)
48
{
49
  return ____STRTOF_INTERNAL (nptr, endptr, 0);
50
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.