Actual source code: test_IRIX.c

  2: #include <stdio.h>
  3: #include "../f90_IRIX.h"

  5: int    *iarray;
  6: double *darray;

  8: void foo1_(int*a,double *b)
  9: {
 10:   iarray = a;
 11:   darray = b;
 12: }

 14: void foo2_(array3d *a,array3d *b)
 15: {
 16:   int i;
 17:   int *aa = (int*)a;
 18:   int *bb = (int*)b;
 19: 
 20:   printf("Integer Structure Contents: ");
 21:   for(i = 0; i< 40; i++) printf("%d ",aa[i]);
 22:   printf("\n\n");

 24:   if ((int*)a->addr == iarray) printf("Data Address Matches\n");
 25:   else printf("*** Data Address Mismatch*** \n");

 27:   printf ("Junk Values a,b,c,d,unknown = %d,%d,%d,%ld,%d\n",a->a,a->b,a->c,a->d,a->unknown);
 28:   printf("Array ndim =  %d,Sizeof(data) = %ld \n", a->ndim,a->sd);
 29:   printf("  Dim  StartIndex Len offset\n");
 30: 
 31:   for (i=0; i< a->ndim; i++)
 32:   printf("   %1d   %3ld      %4ld  %6ld\n",i,a->dim[i].lower,a->dim[i].extent,
 33:          a->dim[i].mult);
 34: 
 35: 
 36:   printf("\n\nDouble Structure Contents: ");
 37:   for(i = 0; i< 40; i++) printf("%d ",bb[i]);
 38:   printf("\n\n");

 40:   if ((int*)a->addr == iarray) printf("Data Address Matches\n");
 41:   else printf("*** Data Address Mismatch*** \n");

 43:   printf ("Junk Values a,b,c,d,unknown = %d,%d,%d,%ld,%d\n",b->a,b->b,b->c,b->d,b->unknown);
 44:   printf("Array ndim =  %d,Sizeof(data) = %ld \n",b->ndim,b->sd);
 45:   printf("  Dim  StartIndex Len offset\n");
 46: 
 47:   for (i=0; i< b->ndim; i++)
 48:   printf("   %1d   %3ld      %4ld  %6ld\n",i,b->dim[i].lower,b->dim[i].extent,
 49:          b->dim[i].mult);
 50: 
 51: }