]> git.ipfire.org Git - thirdparty/glibc.git/blame - ports/sysdeps/alpha/bits/mathdef.h
Move all files into ports/ subdirectory in preparation for merge with glibc
[thirdparty/glibc.git] / ports / sysdeps / alpha / bits / mathdef.h
CommitLineData
4ca39b2a 1/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
5d4b2fb9
UD
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
3214b89b
AJ
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.
5d4b2fb9
UD
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
3214b89b 12 Lesser General Public License for more details.
5d4b2fb9 13
3214b89b 14 You should have received a copy of the GNU Lesser General Public
ab84e3ff
PE
15 License along with the GNU C Library. If not, see
16 <http://www.gnu.org/licenses/>. */
5d4b2fb9 17
200172bd 18#if !defined _MATH_H && !defined _COMPLEX_H
2ecd6b51 19# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
5d4b2fb9
UD
20#endif
21
22/* FIXME! This file describes properties of the compiler, not the machine;
23 it should not be part of libc! */
24
6d1adc87
UD
25#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
26# define _MATH_H_MATHDEF 1
27
a7940a70
RH
28/* Alpha has "float" and "double" operations. */
29typedef float float_t; /* float expressions are evaluated as float. */
30typedef double double_t; /* double expressions are evaluated as double. */
2ecd6b51 31
5faf38ae 32/* The values returned by `ilogb' for 0 and NaN respectively. */
d31dde92
UD
33# define FP_ILOGB0 (-2147483647)
34# define FP_ILOGBNAN (2147483647)
5faf38ae 35
cfbf1a2f 36#endif /* ISO C99 && MATH_H */
200172bd 37
cfbf1a2f
RH
38#if defined _COMPLEX_H && !defined _COMPLEX_H_MATHDEF
39# define _COMPLEX_H_MATHDEF 1
40# if defined(__GNUC__) && !__GNUC_PREREQ(3,4)
41
42/* Due to an ABI change, we need to remap the complex float symbols. */
43# define _Mdouble_ float
44# define __MATHCALL(function, args) \
45 __MATHDECL (_Complex float, function, args)
46# define __MATHDECL(type, function, args) \
47 __MATHDECL_1(type, function##f, args, __c1_##function##f); \
48 __MATHDECL_1(type, __##function##f, args, __c1_##function##f)
49# define __MATHDECL_1(type, function, args, alias) \
50 extern type function args __asm__(#alias) __THROW
51
52# include <bits/cmathcalls.h>
53
54# undef _Mdouble_
55# undef __MATHCALL
56# undef __MATHDECL
57# undef __MATHDECL_1
58
59# endif /* GNUC before 3.4 */
60#endif /* COMPLEX_H */