|
From: <ras...@us...> - 2003-10-30 16:35:37
|
Update of /cvsroot/chasm-interop/chasm/test/descriptors
In directory sc8-pr-cvs1:/tmp/cvs-serv23956
Modified Files:
testdesc.c farrays.f90
Log Message:
Added more -b and -d tests for different types.
Index: testdesc.c
===================================================================
RCS file: /cvsroot/chasm-interop/chasm/test/descriptors/testdesc.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** testdesc.c 17 Oct 2003 18:57:49 -0000 1.33
--- testdesc.c 30 Oct 2003 16:35:33 -0000 1.34
***************
*** 5,9 ****
#include <stdlib.h>
! typedef struct Particle_ {
double position[3];
double velocity[3];
--- 5,9 ----
#include <stdlib.h>
! typedef struct Particle {
double position[3];
double velocity[3];
***************
*** 86,94 ****
# define print_raddr F90_SYMBOL( print_raddr )
# define print_daddr F90_SYMBOL( print_daddr )
! # define print_ia F90_SYMBOL( print_ia )
! # define print_ra F90_SYMBOL( print_ra )
! # define print_da F90_SYMBOL( print_da )
! # define send_iia1d_null F90_SYMBOL( send_iia1d_null )
# define send_iia0d F90_SYMBOL( send_iia0d )
--- 86,103 ----
# define print_raddr F90_SYMBOL( print_raddr )
# define print_daddr F90_SYMBOL( print_daddr )
! # define print_i1a F90_SYMBOL( print_i1a )
! # define print_i2a F90_SYMBOL( print_i2a )
! # define print_i8a F90_SYMBOL( print_i8a )
! # define print_ia F90_SYMBOL( print_ia )
! # define print_ra F90_SYMBOL( print_ra )
! # define print_da F90_SYMBOL( print_da )
! # define print_sizeofs F90_SYMBOL( print_sizeofs )
! # define send_i1a1d_print F90_SYMBOL( send_i1a1d_print )
! # define send_i2a1d_print F90_SYMBOL( send_i2a1d_print )
! # define send_i4a1d_print F90_SYMBOL( send_i4a1d_print )
! # define send_i8a1d_print F90_SYMBOL( send_i8a1d_print )
!
! # define send_iia1d_null F90_SYMBOL( send_iia1d_null )
# define send_iia0d F90_SYMBOL( send_iia0d )
***************
*** 198,206 ****
# define print_raddr F90_SYMBOL( PRINT_RADDR )
# define print_daddr F90_SYMBOL( PRINT_DADDR )
! # define print_ia F90_SYMBOL( PRINT_IA )
! # define print_ra F90_SYMBOL( PRINT_RA )
! # define print_da F90_SYMBOL( PRINT_DA )
! # define send_iia1d_null F90_SYMBOL( SEND_IIA1D_NULL )
# define send_iia0d F90_SYMBOL( SEND_IIA0D )
--- 207,224 ----
# define print_raddr F90_SYMBOL( PRINT_RADDR )
# define print_daddr F90_SYMBOL( PRINT_DADDR )
! # define print_i1a F90_SYMBOL( PRINT_I1A )
! # define print_i2a F90_SYMBOL( PRINT_I2A )
! # define print_i8a F90_SYMBOL( PRINT_I8A )
! # define print_ia F90_SYMBOL( PRINT_IA )
! # define print_ra F90_SYMBOL( PRINT_RA )
! # define print_da F90_SYMBOL( PRINT_DA )
! # define print_sizeofs F90_SYMBOL( PRINT_SIZEOFS )
! # define send_i1a1d_print F90_SYMBOL( SEND_I1A1D_PRINT )
! # define send_i2a1d_print F90_SYMBOL( SEND_I2A1D_PRINT )
! # define send_i4a1d_print F90_SYMBOL( SEND_I4A1D_PRINT )
! # define send_i8a1d_print F90_SYMBOL( SEND_I8A1D_PRINT )
!
! # define send_iia1d_null F90_SYMBOL( SEND_IIA1D_NULL )
# define send_iia0d F90_SYMBOL( SEND_IIA0D )
***************
*** 415,422 ****
--- 433,442 ----
void send_da1d(int*, int*);
+ void send_ia1d_print(int*, int*);
void print_iia1d_null();
void print_ia1d();
void print_ia2d();
void print_ia3d();
+ void print_sizeofs();
void printRaw();
void printDesc();
***************
*** 617,620 ****
--- 637,659 ----
int count = -1;
+ printf("\nPrinting sizeof basic types...\n");
+ print_sizeofs();
+
+ printf("\nPrinting I1A1D\n");
+ send_i1a1d_print(&code, &count);
+ printRawDesc(dv_ia1d);
+
+ printf("\nPrinting I2A1D\n");
+ send_i2a1d_print(&code, &count);
+ printRawDesc(dv_ia1d);
+
+ printf("\nPrinting I4A1D\n");
+ send_i4a1d_print(&code, &count);
+ printRawDesc(dv_ia1d);
+
+ printf("\nPrinting I8A1D\n");
+ send_i8a1d_print(&code, &count);
+ printRawDesc(dv_ia1d);
+
printf("\nPrinting I0D\n");
send_iia0d();
***************
*** 672,675 ****
--- 711,730 ----
int count = -1;
+ printf("\nPrinting I1A1D\n");
+ send_i1a1d_print(&code, &count);
+ cc.printArrayDesc(dv_ia1d, 1);
+
+ printf("\nPrinting I2A1D\n");
+ send_i2a1d_print(&code, &count);
+ cc.printArrayDesc(dv_ia1d, 1);
+
+ printf("\nPrinting I4A1D\n");
+ send_i4a1d_print(&code, &count);
+ cc.printArrayDesc(dv_ia1d, 1);
+
+ printf("\nPrinting I8A1D\n");
+ send_i8a1d_print(&code, &count);
+ cc.printArrayDesc(dv_ia1d, 1);
+
printf("\nPrinting I1D\n");
send_ia1d(&code, &count);
***************
*** 2220,2223 ****
--- 2275,2314 ----
{
printf(" Array: base_addr = %p\n", a);
+ }
+
+
+ /**
+ * Prints the first *count members of the byte array
+ */
+ void print_i1a(char* a, int* count)
+ {
+ int i;
+ for (i = 0; i < *count; i++) {
+ printf(" a[%d] = %d\n", i, a[i]);
+ }
+ }
+
+
+ /**
+ * Prints the first *count members of the short array
+ */
+ void print_i2a(short* a, int* count)
+ {
+ int i;
+ for (i = 0; i < *count; i++) {
+ printf(" a[%d] = %d\n", i, a[i]);
+ }
+ }
+
+
+ /**
+ * Prints the first *count members of the long array
+ */
+ void print_i8a(long* a, int* count)
+ {
+ int i;
+ for (i = 0; i < *count; i++) {
+ printf(" a[%d] = %d\n", i, a[i]);
+ }
}
Index: farrays.f90
===================================================================
RCS file: /cvsroot/chasm-interop/chasm/test/descriptors/farrays.f90,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** farrays.f90 6 Sep 2003 22:04:52 -0000 1.22
--- farrays.f90 30 Oct 2003 16:35:34 -0000 1.23
***************
*** 31,34 ****
--- 31,55 ----
+ subroutine print_sizeofs()
+ use F90_kinds
+ integer(kind=IKIND1) :: i1a(3)
+ integer(kind=IKIND2) :: i2a(3)
+ integer(kind=IKIND4) :: i4a(3)
+ integer(kind=IKIND8) :: i8a(3)
+ integer :: ia(3)
+ real :: ra(3)
+ real(kind(1.0D0)) :: da(3)
+
+ print *, " sizeof IKIND1 = ", sizeof(i1a(1))
+ print *, " sizeof IKIND2 = ", sizeof(i2a(1))
+ print *, " sizeof IKIND4 = ", sizeof(i4a(1))
+ print *, " sizeof IKIND8 = ", sizeof(i8a(1))
+ print *, " sizeof int = ", sizeof(ia(1))
+ print *, " sizeof real = ", sizeof(ra(1))
+ print *, " sizeof double = ", sizeof(da(1))
+
+ end subroutine print_sizeofs
+
+
subroutine send_iia1d_null()
interface
***************
*** 508,511 ****
--- 529,636 ----
+ subroutine send_i1a1d_print(code, ii)
+ use F90_kinds
+ interface
+ subroutine recv_i1a1d(a)
+ use F90_kinds
+ integer(kind=IKIND1), pointer :: a(:)
+ end subroutine
+ end interface
+ external print_iaddr
+ external print_i1a
+ integer :: code, ii
+ integer(kind=IKIND1), target, save :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
+ integer(kind=IKIND1), pointer, save :: pa(:)
+ pa => a
+ call recv_i1a1d(pa)
+
+ ii = 6
+ if (code .eq. 1) then
+ call print_iaddr(a(1))
+ call print_iaddr(a(2))
+ call print_i1a(a, ii)
+ end if
+ call recv_i1a1d(pa)
+ end subroutine send_i1a1d_print
+
+
+ subroutine send_i2a1d_print(code, ii)
+ use F90_kinds
+ interface
+ subroutine recv_i2a1d(a)
+ use F90_kinds
+ integer(kind=IKIND2), pointer :: a(:)
+ end subroutine
+ end interface
+ external print_iaddr
+ external print_i2a
+ integer :: code, ii
+ integer(kind=IKIND2), target, save :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
+ integer(kind=IKIND2), pointer, save :: pa(:)
+ pa => a
+ call recv_i2a1d(pa)
+
+ ii = 6
+ if (code .eq. 1) then
+ call print_iaddr(a(1))
+ call print_iaddr(a(2))
+ call print_i2a(a, ii)
+ end if
+ call recv_i2a1d(pa)
+ end subroutine send_i2a1d_print
+
+
+ subroutine send_i4a1d_print(code, ii)
+ use F90_kinds
+ interface
+ subroutine recv_i4a1d(a)
+ use F90_kinds
+ integer(kind=IKIND4), pointer :: a(:)
+ end subroutine
+ end interface
+ external print_iaddr
+ external print_ia
+ integer :: code, ii
+ integer(kind=IKIND4), target, save :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
+ integer(kind=IKIND4), pointer, save :: pa(:)
+ pa => a
+ call recv_i4a1d(pa)
+
+ ii = 6
+ if (code .eq. 1) then
+ call print_iaddr(a(1))
+ call print_iaddr(a(2))
+ call print_ia(a, ii)
+ end if
+ call recv_i4a1d(pa)
+ end subroutine send_i4a1d_print
+
+
+ subroutine send_i8a1d_print(code, ii)
+ use F90_kinds
+ interface
+ subroutine recv_i8a1d(a)
+ use F90_kinds
+ integer(kind=IKIND8), pointer :: a(:)
+ end subroutine
+ end interface
+ external print_iaddr
+ external print_i8a
+ integer :: code, ii
+ integer(kind=IKIND8), target, save :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
+ integer(kind=IKIND8), pointer, save :: pa(:)
+ pa => a
+ call recv_i8a1d(pa)
+
+ ii = 6
+ if (code .eq. 1) then
+ call print_iaddr(a(1))
+ call print_iaddr(a(2))
+ call print_i8a(a, ii)
+ end if
+ call recv_i8a1d(pa)
+ end subroutine send_i8a1d_print
+
+
subroutine send_ia1d(code, ii)
interface
***************
*** 529,533 ****
if (code .eq. 1) then
! call print_iaddr(a)
call print_ia(a, ii)
end if
--- 654,659 ----
if (code .eq. 1) then
! call print_iaddr(a(1))
! call print_iaddr(a(2))
call print_ia(a, ii)
end if
***************
*** 652,656 ****
pa => a
if (code .eq. 1) then
! call print_iaddr(pa)
call print_ia(pa, 6)
end if
--- 778,782 ----
pa => a
if (code .eq. 1) then
! call print_iaddr(a)
call print_ia(pa, 6)
end if
***************
*** 723,727 ****
count = 3
if (code .eq. 1) then
! call print_raddr(a)
call print_ra(a, 3)
end if
--- 849,854 ----
count = 3
if (code .eq. 1) then
! call print_raddr(a(1))
! call print_raddr(a(2))
call print_ra(a, 3)
end if
***************
*** 813,817 ****
count = 3
if (code .eq. 1) then
! call print_daddr(a)
call print_da(a, 3)
end if
--- 940,945 ----
count = 3
if (code .eq. 1) then
! call print_daddr(a(1))
! call print_daddr(a(2))
call print_da(a, 3)
end if
|