1int 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} 16 17float f0, f1; 18double d0, d1; 19 20void 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} 25void 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 40 41 printf("cast rval: %g %g\n", * (float*) & f1, * (double*) & d1); 42 43 * (float*) & f0 = 1.1f; 44 * (double*) & d0 = 3.3; 45 printf("cast lval: %g %g %g %g\n", f0, f1, d0, d1); 46} 47 48int main() { 49 testParseConsts(); 50 printf("int: %d float: %g double: %g\n", 1, 2.2f, 3.3); 51 printf(" ftoi(1.4f)=%d\n", ftoi(1.4f)); 52 printf(" dtoi(2.4)=%d\n", dtoi(2.4)); 53 printf(" itof(3)=%g\n", itof(3)); 54 printf(" itod(4)=%g\n", itod(4)); 55 testVars(1.0f, 2.0f, 3.0, 4.0); 56 return 0; 57} 58