OSDN Git Service

ee8d7513f91eac21b3925daf14dad421387a5acf
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / builtins-34.c
1 /* Copyright (C) 2004 Free Software Foundation.
2
3    Check that exp10, exp10f, exp10l, exp2, exp2f, exp2l, pow10, pow10f,
4    pow10l, expm1, expm1f and expm1l built-in functions compile.
5
6    Written by Uros Bizjak, 13th February 2004.  */
7
8 /* { dg-do compile } */
9 /* { dg-options "-O2 -ffast-math" } */
10
11 extern double exp10(double);
12 extern double exp2(double);
13 extern double pow10(double);
14 extern double expm1(double);
15 extern double ldexp(double, int);
16 extern double scalb(double, double);
17 extern double scalbn(double, int);
18 extern double scalbln(double, long);
19 extern float exp10f(float);
20 extern float exp2f(float);
21 extern float pow10f(float);
22 extern float expm1f(float);
23 extern float ldexpf(float, int);
24 extern float scalbf(float, float);
25 extern float scalbnf(float, int);
26 extern float scalblnf(float, long);
27 extern long double exp10l(long double);
28 extern long double exp2l(long double);
29 extern long double pow10l(long double);
30 extern long double expm1l(long double);
31 extern long double ldexpl(long double, int);
32 extern long double scalbl(long double, long double);
33 extern long double scalbnl(long double, int);
34 extern long double scalblnl(long double, long);
35
36
37 double test1(double x)
38 {
39   return exp10(x);
40 }
41
42 double test2(double x)
43 {
44   return exp2(x);
45 }
46
47 double test3(double x)
48 {
49   return pow10(x);
50 }
51
52 double test4(double x)
53 {
54   return expm1(x);
55 }
56
57 double test5(double x, int exp)
58 {
59   return ldexp(x, exp);
60 }
61
62 double test6(double x, double exp)
63 {
64   return scalb(x, exp);
65 }
66
67 double test7(double x, int exp)
68 {
69   return scalbn(x, exp);
70 }
71
72 double test8(double x, long exp)
73 {
74   return scalbln(x, exp);
75 }
76
77 float test1f(float x)
78 {
79   return exp10f(x);
80 }
81
82 float test2f(float x)
83 {
84   return exp2f(x);
85 }
86
87 float test3f(float x)
88 {
89   return pow10f(x);
90 }
91
92 float test4f(float x)
93 {
94   return expm1f(x);
95 }
96
97 float test5f(float x, int exp)
98 {
99   return ldexpf(x, exp);
100 }
101
102 float test6f(float x, float exp)
103 {
104   return scalbf(x, exp);
105 }
106
107 float test7f(float x, int exp)
108 {
109   return scalbnf(x, exp);
110 }
111
112 float test8f(float x, long exp)
113 {
114   return scalblnf(x, exp);
115 }
116
117 long double test1l(long double x)
118 {
119   return exp10l(x);
120 }
121
122 long double test2l(long double x)
123 {
124   return exp2l(x);
125 }
126
127 long double test3l(long double x)
128 {
129   return pow10l(x);
130 }
131
132 long double test4l(long double x)
133 {
134   return expm1l(x);
135 }
136
137 long double test5l(long double x, int exp)
138 {
139   return ldexpl(x, exp);
140 }
141
142 long double test6l(long double x, long double exp)
143 {
144   return scalbl(x, exp);
145 }
146
147 long double test7l(long double x, int exp)
148 {
149   return scalbnl(x, exp);
150 }
151
152 long double test8l(long double x, long exp)
153 {
154   return scalblnl(x, exp);
155 }