xref: /libCEED/tests/t104-vector-f.f90 (revision ded9b81dfe1c5b0a720aeaeab78a4be02eef9bb5)
1!-----------------------------------------------------------------------
2      program test
3      implicit none
4      include 'ceedf.h'
5
6      integer ceed,err
7      integer i,x,n
8      real*8 a(10)
9      real*8 b(10)
10      real*8 diff
11      integer*8 aoffset,boffset
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)=0
24      enddo
25
26      aoffset=0
27      call ceedvectorsetarray(x,ceed_mem_host,ceed_use_pointer,a,aoffset,err)
28      call ceedvectorgetarray(x,ceed_mem_host,b,boffset,err)
29      b(boffset+3) = -3.14
30      call ceedvectorrestorearray(x,b,boffset,err)
31      diff=a(3)+3.14
32      if (abs(diff)>1.0D-15) then
33! LCOV_EXCL_START
34        write(*,*) 'Error writing array a(3)=',a(3)
35! LCOV_EXCL_STOP
36      endif
37
38      call ceedvectordestroy(x,err)
39      call ceeddestroy(ceed,err)
40
41      end
42!-----------------------------------------------------------------------
43