blob: f48b3d1ecb7765a67b5e23a1f0304ebf9d897412 [file] [log] [blame]
Jack Palevich128ad2d2009-07-08 14:51:31 -07001int ftoi(float f) {
2 return f;
3}
4
5int dtoi(double d) {
6 return d;
7}
8
9float itof(int i) {
10 return i;
11}
12
13double itod(int i) {
14 return i;
15}
Jack Palevich1a539db2009-07-08 13:04:41 -070016
Jack Palevich9cbd2262009-07-08 16:48:41 -070017float f0, f1;
18double d0, d1;
19
Jack Palevich2aaf21f2009-07-15 16:16:37 -070020void testParseConsts() {
21 printf("Constants: %g %g %g %g %g %g %g %g %g\n", 0e1, 0E1, 0.f, .01f,
22 .01e0f, 1.0e-1, 1.0e1, 1.0e+1,
23 .1f);
24}
Jack Palevich9cbd2262009-07-08 16:48:41 -070025void testVars(float arg0, float arg1, double arg2, double arg3) {
26 float local0, local1;
27 double local2, local3;
28 f0 = arg0;
29 f1 = arg1;
30 d0 = arg2;
31 d1 = arg3;
32 local0 = arg0;
33 local1 = arg1;
34 local2 = arg2;
35 local3 = arg3;
36 printf("globals: %g %g %g %g\n", f0, f1, d0, d1);
37 printf("args: %g %g %g %g\n", arg0, arg1, arg2, arg3);
38 printf("locals: %g %g %g %g\n", local0, local1, local2, local3);
39
Jack Palevich2a4e1a92009-07-09 13:34:25 -070040
41 printf("cast rval: %g %g\n", * (float*) & f1, * (double*) & d1);
42
Jack Palevich9cbd2262009-07-08 16:48:41 -070043 * (float*) & f0 = 1.1f;
44 * (double*) & d0 = 3.3;
Jack Palevich2a4e1a92009-07-09 13:34:25 -070045 printf("cast lval: %g %g %g %g\n", f0, f1, d0, d1);
Jack Palevich9cbd2262009-07-08 16:48:41 -070046}
47
Jack Palevich1a539db2009-07-08 13:04:41 -070048int main() {
Jack Palevich2aaf21f2009-07-15 16:16:37 -070049 testParseConsts();
Jack Palevich1a539db2009-07-08 13:04:41 -070050 printf("int: %d float: %g double: %g\n", 1, 2.2f, 3.3);
Jack Palevich128ad2d2009-07-08 14:51:31 -070051 printf(" ftoi(1.4f)=%d\n", ftoi(1.4f));
Jack Palevichb7718b92009-07-09 22:00:24 -070052 printf(" dtoi(2.4)=%d\n", dtoi(2.4));
Jack Palevich128ad2d2009-07-08 14:51:31 -070053 printf(" itof(3)=%g\n", itof(3));
54 printf(" itod(4)=%g\n", itod(4));
Jack Palevich9cbd2262009-07-08 16:48:41 -070055 testVars(1.0f, 2.0f, 3.0, 4.0);
Jack Palevich128ad2d2009-07-08 14:51:31 -070056 return 0;
Jack Palevich1a539db2009-07-08 13:04:41 -070057}