Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/tr1/test/test_complex.cpp @ 45

Last change on this file since 45 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 4.4 KB
Line 
1//  (C) Copyright John Maddock 2005.
2//  Use, modification and distribution are subject to the
3//  Boost Software License, Version 1.0. (See accompanying file
4//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6#ifdef TEST_STD_HEADERS
7#include <complex>
8#else
9#include <boost/tr1/complex.hpp>
10#endif
11
12#include "verify_return.hpp"
13
14int main()
15{
16   verify_return_type(std::arg(0), double(0));
17   verify_return_type(std::arg(0.0), double(0));
18   verify_return_type(std::arg(0.0L), (long double)(0));
19   verify_return_type(std::arg(0.0F), float(0));
20   verify_return_type(std::norm(0), double(0));
21   verify_return_type(std::norm(0.0), double(0));
22   verify_return_type(std::norm(0.0L), (long double)(0));
23   verify_return_type(std::norm(0.0F), float(0));
24   verify_return_type(std::conj(0), std::complex<double>(0));
25   verify_return_type(std::conj(0.0), std::complex<double>(0));
26   verify_return_type(std::conj(0.0L), std::complex<long double>(0));
27   verify_return_type(std::conj(0.0F), std::complex<float>(0));
28   verify_return_type(std::imag(0), double(0));
29   verify_return_type(std::imag(0.0), double(0));
30   verify_return_type(std::imag(0.0L), (long double)(0));
31   verify_return_type(std::imag(0.0F), float(0));
32   verify_return_type(std::real(0), double(0));
33   verify_return_type(std::real(0.0), double(0));
34   verify_return_type(std::real(0.0L), (long double)(0));
35   verify_return_type(std::real(0.0F), float(0));
36   verify_return_type(std::polar(0), std::complex<double>(0));
37   verify_return_type(std::polar(0.0), std::complex<double>(0));
38   verify_return_type(std::polar(0.0L), std::complex<long double>(0));
39   verify_return_type(std::polar(0.0F), std::complex<float>(0));
40   verify_return_type(std::polar(0, 0L), std::complex<double>(0));
41   verify_return_type(std::polar(0.0, 0.0L), std::complex<long double>(0));
42   verify_return_type(std::polar(0.0L, 0.0F), std::complex<long double>(0));
43   verify_return_type(std::polar(0.0F, 0), std::complex<double>(0));
44
45   std::complex<float> f;
46   std::complex<double> d;
47   std::complex<long double> l;
48   float sf;
49   double sd;
50   long double sl;
51
52   verify_return_type(std::pow(f, f), f);
53   verify_return_type(std::pow(f, d), d);
54   verify_return_type(std::pow(d, f), d);
55   verify_return_type(std::pow(f, l), l);
56   verify_return_type(std::pow(l, f), l);
57   verify_return_type(std::pow(d, l), l);
58   verify_return_type(std::pow(l, d), l);
59
60   verify_return_type(std::pow(f, sf), f);
61   verify_return_type(std::pow(f, sd), d);
62   verify_return_type(std::pow(d, sf), d);
63   verify_return_type(std::pow(f, sl), l);
64   verify_return_type(std::pow(l, sf), l);
65   verify_return_type(std::pow(d, sl), l);
66   verify_return_type(std::pow(l, sd), l);
67   verify_return_type(std::pow(f, 0), f);
68   verify_return_type(std::pow(d, 0), d);
69   verify_return_type(std::pow(l, 0), l);
70   verify_return_type(std::pow(f, 0L), d);
71   verify_return_type(std::pow(d, 0L), d);
72   verify_return_type(std::pow(l, 0L), l);
73
74   verify_return_type(std::pow(sf, f), f);
75   verify_return_type(std::pow(sf, d), d);
76   verify_return_type(std::pow(sd, f), d);
77   verify_return_type(std::pow(sf, l), l);
78   verify_return_type(std::pow(sl, f), l);
79   verify_return_type(std::pow(sd, l), l);
80   verify_return_type(std::pow(sl, d), l);
81   verify_return_type(std::pow(2, f), d);
82   verify_return_type(std::pow(2, d), d);
83   verify_return_type(std::pow(2, l), l);
84   verify_return_type(std::pow(2L, f), d);
85   verify_return_type(std::pow(2L, d), d);
86   verify_return_type(std::pow(2L, l), l);
87
88   verify_return_type(std::tr1::acos(f), f);
89   verify_return_type(std::tr1::acos(d), d);
90   verify_return_type(std::tr1::acos(l), l);
91   verify_return_type(std::tr1::asin(f), f);
92   verify_return_type(std::tr1::asin(d), d);
93   verify_return_type(std::tr1::asin(l), l);
94   verify_return_type(std::tr1::atan(f), f);
95   verify_return_type(std::tr1::atan(d), d);
96   verify_return_type(std::tr1::atan(l), l);
97   verify_return_type(std::tr1::asinh(f), f);
98   verify_return_type(std::tr1::asinh(d), d);
99   verify_return_type(std::tr1::asinh(l), l);
100   verify_return_type(std::tr1::acosh(f), f);
101   verify_return_type(std::tr1::acosh(d), d);
102   verify_return_type(std::tr1::acosh(l), l);
103   verify_return_type(std::tr1::atanh(f), f);
104   verify_return_type(std::tr1::atanh(d), d);
105   verify_return_type(std::tr1::atanh(l), l);
106   verify_return_type(std::tr1::fabs(f), sf);
107   verify_return_type(std::tr1::fabs(d), sd);
108   verify_return_type(std::tr1::fabs(l), sl);
109   return 0;
110}
111
Note: See TracBrowser for help on using the repository browser.