Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: gcc/libstdc++-v3/include/tr1/complex

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gcc/libstdc++-v3/include/tr1/climits ('k') | gcc/libstdc++-v3/include/tr1/cstdarg » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // TR1 complex -*- C++ -*-
2
3 // Copyright (C) 2006, 2007, 2008, 2009 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 3, 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 // Under Section 7 of GPL version 3, you are granted additional
17 // permissions described in the GCC Runtime Library Exception, version
18 // 3.1, as published by the Free Software Foundation.
19
20 // You should have received a copy of the GNU General Public License and
21 // a copy of the GCC Runtime Library Exception along with this program;
22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23 // <http://www.gnu.org/licenses/>.
24
25 /** @file tr1/complex
26 * This is a TR1 C++ Library header.
27 */
28
29 #ifndef _GLIBCXX_TR1_COMPLEX
30 #define _GLIBCXX_TR1_COMPLEX 1
31
32 #pragma GCC system_header
33
34 #if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
35 # error TR1 header cannot be included from C++0x header
36 #endif
37
38 #include <complex>
39
40 #if defined(_GLIBCXX_INCLUDE_AS_TR1)
41 # include <tr1_impl/complex>
42 #else
43 # define _GLIBCXX_INCLUDE_AS_TR1
44 # define _GLIBCXX_BEGIN_NAMESPACE_TR1 namespace tr1 {
45 # define _GLIBCXX_END_NAMESPACE_TR1 }
46 # define _GLIBCXX_TR1 tr1::
47 # include <tr1_impl/complex>
48 # undef _GLIBCXX_TR1
49 # undef _GLIBCXX_END_NAMESPACE_TR1
50 # undef _GLIBCXX_BEGIN_NAMESPACE_TR1
51 # undef _GLIBCXX_INCLUDE_AS_TR1
52 #endif
53
54 namespace std
55 {
56 namespace tr1
57 {
58 using std::arg;
59 using std::conj;
60 using std::imag;
61 using std::norm;
62 using std::polar;
63
64 template<typename _Tp, typename _Up>
65 inline std::complex<typename __gnu_cxx::__promote_2<_Tp, _Up>::__type>
66 polar(const _Tp& __rho, const _Up& __theta)
67 {
68 typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
69 return std::polar(__type(__rho), __type(__theta));
70 }
71
72 using std::real;
73
74 template<typename _Tp>
75 inline std::complex<_Tp>
76 pow(const std::complex<_Tp>& __x, const _Tp& __y)
77 { return std::pow(__x, __y); }
78
79 template<typename _Tp>
80 inline std::complex<_Tp>
81 pow(const _Tp& __x, const std::complex<_Tp>& __y)
82 { return std::pow(__x, __y); }
83
84 template<typename _Tp>
85 inline std::complex<_Tp>
86 pow(const std::complex<_Tp>& __x, const std::complex<_Tp>& __y)
87 { return std::pow(__x, __y); }
88 }
89 }
90
91 #endif // _GLIBCXX_TR1_COMPLEX
OLDNEW
« no previous file with comments | « gcc/libstdc++-v3/include/tr1/climits ('k') | gcc/libstdc++-v3/include/tr1/cstdarg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698