source: trunk/src/gcc/libstdc++-v3/include/c_shadow/math.h@ 2

Last change on this file since 2 was 2, checked in by bird, 23 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.4 KB
Line 
1// -*- C++ -*- header wrapper.
2
3// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 2, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License along
17// with this library; see the file COPYING. If not, write to the Free
18// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19// USA.
20
21// As a special exception, you may use this file as part of a free software
22// library without restriction. Specifically, if other files instantiate
23// templates or use macros or inline functions from this file, or you compile
24// this file and link it with other files to produce an executable, this
25// file does not by itself cause the resulting executable to be covered by
26// the GNU General Public License. This exception does not however
27// invalidate any other reasons why the executable file might be covered by
28// the GNU General Public License.
29
30
31#ifndef _INCLUDED_CPP_MATH_H_
32# define _INCLUDED_CPP_MATH_H_ 1
33
34# ifdef _IN_C_LEGACY_ /* sub-included by a C header */
35 // get out of the "legacy"
36 } // close extern "C"
37 } // close namespace _C_legacy::
38# undef _IN_C_LEGACY_
39# define _MATH_NEED_C_LEGACY_
40# endif
41
42# include <cmath>
43
44 // Expose global C names, including non-standard ones, but shadow
45 // some names and types with the std:: C++ version.
46 using std::abs;
47 using std::acos;
48 using std::asin;
49 using std::atan;
50 using std::atan2;
51 using std::cos;
52 using std::sin;
53 using std::tan;
54 using std::cosh;
55 using std::sinh;
56 using std::tanh;
57 using std::exp;
58 using std::frexp;
59 using std::ldexp;
60 using std::log;
61 using std::log10;
62 using std::modf;
63 using std::pow;
64 using std::sqrt;
65 using std::ceil;
66 using std::fabs;
67 using std::floor;
68 using std::fmod;
69
70 // From ISO/IEC 9899:1999
71 using std::absf;
72 using std::acosf;
73 using std::asinf;
74 using std::atanf;
75 using std::atan2f;
76 using std::cosf;
77 using std::sinf;
78 using std::tanf;
79 using std::coshf;
80 using std::sinhf;
81 using std::tanhf;
82 using std::expf;
83 using std::frexpf;
84 using std::ldexpf;
85 using std::logf;
86 using std::log10f;
87 using std::modff;
88 using std::powf;
89 using std::sqrtf;
90 using std::ceilf;
91 using std::fabsf;
92 using std::floorf;
93 using std::fmodf;
94
95 // From ISO/IEC 9899:1999
96 using std::absl;
97 using std::acosl;
98 using std::asinl;
99 using std::atanl;
100 using std::atan2l;
101 using std::cosl;
102 using std::sinl;
103 using std::tanl;
104 using std::coshl;
105 using std::sinhl;
106 using std::tanhl;
107 using std::expl;
108 using std::frexpl;
109 using std::ldexpl;
110 using std::logl;
111 using std::log10l;
112 using std::modfl;
113 using std::powl;
114 using std::sqrtl;
115 using std::ceill;
116 using std::fabsl;
117 using std::floorl;
118 using std::fmodl;
119
120# ifdef _MATH_NEED_C_LEGACY_
121 // dive back into the "swamp"
122 namespace _C_legacy {
123 extern "C" {
124# define _IN_C_LEGACY_
125# undef _MATH_NEED_C_LEGACY_
126# endif /* _MATH_NEED_C_LEGACY_ */
127#endif /* _INCLUDED_CPP_MATH_H_ */
128
129
130
131
Note: See TracBrowser for help on using the repository browser.