1 #include <tgmath.h>
2 #include "test.h"
3 
main(void)4 int main(void)
5 {
6 	long i;
7 
8 	i = lrint(123456789.1f) & 0x7fffffff;
9 	if (i != 123456792)
10 		t_error("lrint(123456789.1f)&0x7fffffff want 123456792 got %ld\n", i);
11 	i = lrint(123456789.1) & 0x7fffffff;
12 	if (i != 123456789)
13 		t_error("lrint(123456789.1)&0x7fffffff want 123456789 got %ld\n", i);
14 
15 	if (sqrt(2.0f) != 1.41421353816986083984375)
16 		t_error("sqrt(2.0f) want 0x1.6a09e6p+0 got %a\n", sqrt(2.0f));
17 	if (sqrt(2.0) != 1.414213562373095145474621858738828450441360)
18 		t_error("sqrt(2.0) want 0x1.6a09e667f3bcdp+0 got %a\n", sqrt(2.0));
19 	if (sqrt(2) != 1.414213562373095145474621858738828450441360)
20 		t_error("sqrt(2) want 0x1.6a09e667f3bcdp+0 got %a\n", sqrt(2.0));
21 
22 	if (sizeof pow(sqrt(8),0.5f) != sizeof(double))
23 		t_error("sizeof pow(sqrt(8),0.5f) want %d got %d\n", (int)sizeof(double), (int)sizeof pow(sqrt(8),0.5f));
24 	if (sizeof pow(2.0,0.5) != sizeof(double))
25 		t_error("sizeof pow(2.0,0.5) want %d got %d\n", (int)sizeof(double), (int)sizeof pow(2.0,0.5));
26 	if (sizeof pow(2.0f,0.5f) != sizeof(float))
27 		t_error("sizeof pow(2.0f,0.5f) want %d got %d\n", (int)sizeof(float), (int)sizeof pow(2.0f,0.5f));
28 	if (sizeof pow(2.0,0.5+0*I) != sizeof(double complex))
29 		t_error("sizeof pow(2.0,0.5+0*I) want %d got %d\n", (int)sizeof(double complex), (int)sizeof pow(2.0,0.5+0*I));
30 
31 	if (pow(2.0,0.5) != 1.414213562373095145474621858738828450441360)
32 		t_error("pow(2.0,0.5) want 0x1.6a09e667f3bcdp+0 got %a\n", pow(2.0,0.5));
33 	if (pow(2,0.5) != 1.414213562373095145474621858738828450441360)
34 		t_error("pow(2,0.5) want 0x1.6a09e667f3bcdp+0 got %a\n", pow(2,0.5));
35 	if (pow(2,0.5f) != 1.414213562373095145474621858738828450441360)
36 		t_error("pow(2,0.5f) want 0x1.6a09e667f3bcdp+0 got %a\n", pow(2,0.5f));
37 
38 	return t_status;
39 }
40