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