1!----------------------------------------------------------------------- 2 program test 3 implicit none 4 include 'ceedf.h' 5 6 integer ceed,err 7 integer x,y,i,n 8 integer*8 aoffset,xoffset,yoffset 9 real*8 a(10) 10 real*8 xx(10) 11 real*8 yy(10) 12 real*8 diff 13 character arg*32 14 15 call getarg(1,arg) 16 17 call ceedinit(trim(arg)//char(0),ceed,err) 18 19 n=10 20 call ceedvectorcreate(ceed,n,x,err) 21 call ceedvectorcreate(ceed,n,y,err) 22 23 do i=1,10 24 a(i)=10+i 25 enddo 26 27 aoffset=0 28 call ceedvectorsetarray(x,ceed_mem_host,ceed_use_pointer,a,aoffset,err) 29 30 call ceedvectorgetarray(x,ceed_mem_host,xx,xoffset,err) 31 call ceedvectorsetarray(y,ceed_mem_host,ceed_copy_values,xx,xoffset,err) 32 call ceedvectorrestorearray(x,xx,xoffset,err) 33 34 call ceedvectorgetarrayread(y,ceed_mem_host,yy,yoffset,err) 35 36 do i=1,10 37 diff=yy(i+yoffset)-10-i 38 if (abs(diff)>1.0D-15) then 39! LCOV_EXCL_START 40 write(*,*) 'Error reading array y(',i,')=',yy(i+yoffset) 41! LCOV_EXCL_STOP 42 endif 43 enddo 44 45 call ceedvectorrestorearrayread(y,yy,yoffset,err) 46 call ceedvectordestroy(x,err) 47 call ceedvectordestroy(y,err) 48 call ceeddestroy(ceed,err) 49 50 end 51!----------------------------------------------------------------------- 52