10436c2adSjeremylt!----------------------------------------------------------------------- 20436c2adSjeremylt program test 31f9a83abSJed Brown implicit none 4*ec3da8bcSJed Brown include 'ceed/fortran.h' 50436c2adSjeremylt 60436c2adSjeremylt integer ceed,err 71f9a83abSJed Brown integer x,y,i,n 80436c2adSjeremylt real*8 a(10) 90436c2adSjeremylt real*8 b(10) 100436c2adSjeremylt real*8 c(10) 110436c2adSjeremylt real*8 diff 120436c2adSjeremylt integer*8 aoffset,boffset,coffset 130436c2adSjeremylt character arg*32 140436c2adSjeremylt 150436c2adSjeremylt call getarg(1,arg) 160436c2adSjeremylt 170436c2adSjeremylt call ceedinit(trim(arg)//char(0),ceed,err) 180436c2adSjeremylt 190436c2adSjeremylt n=10 200436c2adSjeremylt 210436c2adSjeremylt call ceedvectorcreate(ceed,n,x,err) 220436c2adSjeremylt call ceedvectorcreate(ceed,n,y,err) 230436c2adSjeremylt 240436c2adSjeremylt do i=1,10 250436c2adSjeremylt a(i)=9+i 260436c2adSjeremylt enddo 270436c2adSjeremylt aoffset=0 280436c2adSjeremylt call ceedvectorsetarray(x,ceed_mem_host,ceed_use_pointer,a,aoffset,err) 290436c2adSjeremylt 300436c2adSjeremylt do i=1,10 310436c2adSjeremylt b(i)=0 320436c2adSjeremylt enddo 330436c2adSjeremylt boffset=0 340436c2adSjeremylt call ceedvectorsetarray(y,ceed_mem_host,ceed_use_pointer,b,boffset,err) 350436c2adSjeremylt 360436c2adSjeremylt call ceedvectorgetarrayread(x,ceed_mem_device,c,coffset,err) 370436c2adSjeremylt call ceedvectorsetarray(y,ceed_mem_device,ceed_copy_values,c,coffset,err) 380436c2adSjeremylt call ceedvectorrestorearrayread(x,c,coffset,err) 390436c2adSjeremylt 400436c2adSjeremylt call ceedvectorsyncarray(y,ceed_mem_host,err) 410436c2adSjeremylt do i=1,10 420436c2adSjeremylt diff = b(i+boffset)-(9+i) 430436c2adSjeremylt if (abs(diff)>1.0D-15) then 440436c2adSjeremylt! LCOV_EXCL_START 450436c2adSjeremylt write(*,*) 'Error reading array b(',i,') = ',b(i+boffset),' != ',9+i 460436c2adSjeremylt! LCOV_EXCL_STOP 470436c2adSjeremylt endif 480436c2adSjeremylt enddo 490436c2adSjeremylt 500436c2adSjeremylt call ceedvectordestroy(x,err) 510436c2adSjeremylt call ceedvectordestroy(y,err) 520436c2adSjeremylt call ceeddestroy(ceed,err) 530436c2adSjeremylt 540436c2adSjeremylt end 550436c2adSjeremylt!----------------------------------------------------------------------- 56