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