xref: /libCEED/tests/t100-vector-f.f90 (revision 7f1dc7b91d4f5ca67db10df8f4f0b60afe166f53)
1!-----------------------------------------------------------------------
2      program test
3      implicit none
4      include 'ceedf.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 ceedvectorgetarrayread(x,ceed_mem_host,b,boffset,err)
29
30      do i=1,10
31        diff=b(i+boffset)-10-i
32        if (abs(diff)>1.0D-15) then
33! LCOV_EXCL_START
34          write(*,*) 'Error reading array b(',i,')=',b(i+boffset)
35! LCOV_EXCL_STOP
36        endif
37      enddo
38
39      call ceedvectorrestorearrayread(x,b,boffset,err)
40      call ceedvectordestroy(x,err)
41      call ceeddestroy(ceed,err)
42
43      end
44!-----------------------------------------------------------------------
45