| double fabs (double); |
| |
| /* defined in fortran module bind_c_vars */ |
| void changeF90Globals(void); |
| |
| extern void abort(void); |
| |
| /* module level scope in bind_c_vars */ |
| extern int myf90int; /* myf90int in bind_c_vars */ |
| float myF90Real; /* f90_real in bind_c_vars */ |
| int myF90Array3D[10][5][18]; /* A in bind_c_vars */ |
| int myF90Array2D[2][3]; /* B in bind_c_vars */ |
| int myVariable; /* c2 in bind_c_vars */ |
| int c3; /* c3 in bind_c_vars */ |
| int c4; /* c4 in bind_c_vars */ |
| |
| int main(int argc, char **argv) |
| { |
| myf90int = 1; |
| myF90Real = 1.0; |
| myVariable = 2; |
| c3 = 3; |
| c4 = 4; |
| myF90Array3D[2][3][4] = 1; |
| myF90Array2D[1][2] = 2; |
| |
| /* will change the global vars initialized above */ |
| changeF90Globals(); |
| |
| if(myf90int != 2) |
| abort(); |
| if(fabs(myF90Real-3.0) > 0.00000000) |
| abort(); |
| if(myVariable != 4) |
| abort(); |
| if(c3 != 6) |
| abort(); |
| if(c4 != 2) |
| abort(); |
| if(myF90Array3D[2][3][4] != 2) |
| abort(); |
| if(myF90Array2D[1][2] != 3) |
| abort(); |
| |
| return 0; |
| }/* end main() */ |