xref: /libCEED/tests/t104-vector-f.f90 (revision 1f9a83abe5ffa9c83e4a126579dd9511999b6f22)
10436c2adSjeremylt!-----------------------------------------------------------------------
20436c2adSjeremylt      program test
3*1f9a83abSJed Brown      implicit none
40436c2adSjeremylt      include 'ceedf.h'
50436c2adSjeremylt
60436c2adSjeremylt      integer ceed,err
7*1f9a83abSJed Brown      integer i,x,n
80436c2adSjeremylt      real*8 a(10)
90436c2adSjeremylt      real*8 b(10)
100436c2adSjeremylt      real*8 diff
110436c2adSjeremylt      integer*8 aoffset,boffset
120436c2adSjeremylt      character arg*32
130436c2adSjeremylt
140436c2adSjeremylt      call getarg(1,arg)
150436c2adSjeremylt
160436c2adSjeremylt      call ceedinit(trim(arg)//char(0),ceed,err)
170436c2adSjeremylt
180436c2adSjeremylt      n=10
190436c2adSjeremylt
200436c2adSjeremylt      call ceedvectorcreate(ceed,n,x,err)
210436c2adSjeremylt
220436c2adSjeremylt      do i=1,10
230436c2adSjeremylt        a(i)=0
240436c2adSjeremylt      enddo
250436c2adSjeremylt
260436c2adSjeremylt      aoffset=0
270436c2adSjeremylt      call ceedvectorsetarray(x,ceed_mem_host,ceed_use_pointer,a,aoffset,err)
280436c2adSjeremylt      call ceedvectorgetarray(x,ceed_mem_host,b,boffset,err)
290436c2adSjeremylt      b(boffset+3) = -3.14
300436c2adSjeremylt      call ceedvectorrestorearray(x,b,boffset,err)
310436c2adSjeremylt      diff=a(3)+3.14
320436c2adSjeremylt      if (abs(diff)>1.0D-15) then
330436c2adSjeremylt! LCOV_EXCL_START
340436c2adSjeremylt        write(*,*) 'Error writing array a(3)=',a(3)
350436c2adSjeremylt! LCOV_EXCL_STOP
360436c2adSjeremylt      endif
370436c2adSjeremylt
380436c2adSjeremylt      call ceedvectordestroy(x,err)
390436c2adSjeremylt      call ceeddestroy(ceed,err)
400436c2adSjeremylt
410436c2adSjeremylt      end
420436c2adSjeremylt!-----------------------------------------------------------------------
43