1 double fabs (double); 2 3 typedef struct ctype 4 { 5 int i; 6 double x; 7 }ctype_t; 8 test_scalar_address(int * ptr)9int test_scalar_address(int *ptr) 10 { 11 /* The value in Fortran should be initialized to 100. */ 12 if(*ptr != 100) 13 return 0; 14 else 15 return 1; 16 } 17 test_array_address(int * int_array,int num_elements)18int test_array_address(int *int_array, int num_elements) 19 { 20 int i = 0; 21 22 for(i = 0; i < num_elements; i++) 23 /* Fortran will init all of the elements to 100; verify that here. */ 24 if(int_array[i] != 100) 25 return 0; 26 27 /* all elements were equal to 100 */ 28 return 1; 29 } 30 test_type_address(ctype_t * type_ptr)31int test_type_address(ctype_t *type_ptr) 32 { 33 /* i was set to 100 by Fortran */ 34 if(type_ptr->i != 100) 35 return 0; 36 37 /* x was set to 1.0d0 by Fortran */ 38 if(fabs(type_ptr->x - 1.0) > 0.00000000) 39 return 0; 40 41 return 1; 42 } 43