43 lines
960 B
C
43 lines
960 B
C
double fabs(double);
|
|
|
|
void test_coms(void);
|
|
|
|
extern void abort(void);
|
|
|
|
struct {double r, s; } com; /* refers to the common block "com" */
|
|
double single; /* refers to the common block "single" */
|
|
long int mycom; /* refers to the common block "MYCOM" */
|
|
long long int mycom2; /* refers to the common block "MYCOM2" */
|
|
struct {int i, j; } f03_com2; /* refers to the common block "com2" */
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
com.r = 1.0;
|
|
com.s = 2.0;
|
|
single = 1.0;
|
|
mycom = 1;
|
|
mycom2 = 2;
|
|
f03_com2.i = 1;
|
|
f03_com2.j = 2;
|
|
|
|
/* change the common block variables in F90 */
|
|
test_coms();
|
|
|
|
if(fabs(com.r - 1.1) > 0.00000000)
|
|
abort();
|
|
if(fabs(com.s - 2.1) > 0.00000000)
|
|
abort();
|
|
if(fabs(single - 1.1) > 0.00000000)
|
|
abort();
|
|
if(mycom != 2)
|
|
abort();
|
|
if(mycom2 != 3)
|
|
abort();
|
|
if(f03_com2.i != 2)
|
|
abort();
|
|
if(f03_com2.j != 3)
|
|
abort();
|
|
|
|
return 0;
|
|
}/* end main() */
|