1double fabs(double); 2 3void test_coms(void); 4 5extern void abort(void); 6 7struct {double r, s; } com; /* refers to the common block "com" */ 8double single; /* refers to the common block "single" */ 9long int mycom; /* refers to the common block "MYCOM" */ 10long long int mycom2; /* refers to the common block "MYCOM2" */ 11struct {int i, j; } f03_com2; /* refers to the common block "com2" */ 12 13int main(int argc, char **argv) 14{ 15 com.r = 1.0; 16 com.s = 2.0; 17 single = 1.0; 18 mycom = 1; 19 mycom2 = 2; 20 f03_com2.i = 1; 21 f03_com2.j = 2; 22 23 /* change the common block variables in F90 */ 24 test_coms(); 25 26 if(fabs(com.r - 1.1) > 0.00000000) 27 abort(); 28 if(fabs(com.s - 2.1) > 0.00000000) 29 abort(); 30 if(fabs(single - 1.1) > 0.00000000) 31 abort(); 32 if(mycom != 2) 33 abort(); 34 if(mycom2 != 3) 35 abort(); 36 if(f03_com2.i != 2) 37 abort(); 38 if(f03_com2.j != 3) 39 abort(); 40 41 return 0; 42}/* end main() */ 43