Jack Palevich | 128ad2d | 2009-07-08 14:51:31 -0700 | [diff] [blame] | 1 | int ftoi(float f) { |
| 2 | return f; |
| 3 | } |
| 4 | |
| 5 | int dtoi(double d) { |
| 6 | return d; |
| 7 | } |
| 8 | |
| 9 | float itof(int i) { |
| 10 | return i; |
| 11 | } |
| 12 | |
| 13 | double itod(int i) { |
| 14 | return i; |
| 15 | } |
Jack Palevich | 1a539db | 2009-07-08 13:04:41 -0700 | [diff] [blame] | 16 | |
Jack Palevich | 9cbd226 | 2009-07-08 16:48:41 -0700 | [diff] [blame] | 17 | float f0, f1; |
| 18 | double d0, d1; |
| 19 | |
Jack Palevich | 2aaf21f | 2009-07-15 16:16:37 -0700 | [diff] [blame] | 20 | void 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 Palevich | 9cbd226 | 2009-07-08 16:48:41 -0700 | [diff] [blame] | 25 | void 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 Palevich | 2a4e1a9 | 2009-07-09 13:34:25 -0700 | [diff] [blame] | 40 | |
| 41 | printf("cast rval: %g %g\n", * (float*) & f1, * (double*) & d1); |
| 42 | |
Jack Palevich | 9cbd226 | 2009-07-08 16:48:41 -0700 | [diff] [blame] | 43 | * (float*) & f0 = 1.1f; |
| 44 | * (double*) & d0 = 3.3; |
Jack Palevich | 2a4e1a9 | 2009-07-09 13:34:25 -0700 | [diff] [blame] | 45 | printf("cast lval: %g %g %g %g\n", f0, f1, d0, d1); |
Jack Palevich | 9cbd226 | 2009-07-08 16:48:41 -0700 | [diff] [blame] | 46 | } |
| 47 | |
Jack Palevich | 1a539db | 2009-07-08 13:04:41 -0700 | [diff] [blame] | 48 | int main() { |
Jack Palevich | 2aaf21f | 2009-07-15 16:16:37 -0700 | [diff] [blame] | 49 | testParseConsts(); |
Jack Palevich | 1a539db | 2009-07-08 13:04:41 -0700 | [diff] [blame] | 50 | printf("int: %d float: %g double: %g\n", 1, 2.2f, 3.3); |
Jack Palevich | 128ad2d | 2009-07-08 14:51:31 -0700 | [diff] [blame] | 51 | printf(" ftoi(1.4f)=%d\n", ftoi(1.4f)); |
Jack Palevich | b7718b9 | 2009-07-09 22:00:24 -0700 | [diff] [blame] | 52 | printf(" dtoi(2.4)=%d\n", dtoi(2.4)); |
Jack Palevich | 128ad2d | 2009-07-08 14:51:31 -0700 | [diff] [blame] | 53 | printf(" itof(3)=%g\n", itof(3)); |
| 54 | printf(" itod(4)=%g\n", itod(4)); |
Jack Palevich | 9cbd226 | 2009-07-08 16:48:41 -0700 | [diff] [blame] | 55 | testVars(1.0f, 2.0f, 3.0, 4.0); |
Jack Palevich | 128ad2d | 2009-07-08 14:51:31 -0700 | [diff] [blame] | 56 | return 0; |
Jack Palevich | 1a539db | 2009-07-08 13:04:41 -0700 | [diff] [blame] | 57 | } |