1!----------------------------------------------------------------------- 2 program test 3 implicit none 4 include 'ceedf.h' 5 6 integer ceed,err 7 integer x,i,n 8 real*8 a(10) 9 real*8 norm,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 do i=1,10 22 if (mod(i,2) == 0) then 23 a(i)=i-1 24 else 25 a(i)=-(i-1) 26 endif 27 enddo 28 aoffset=0 29 call ceedvectorsetarray(x,ceed_mem_host,ceed_use_pointer,a,aoffset,err) 30 31 call ceedvectornorm(x,ceed_norm_1,norm,err) 32 diff = norm - 45. 33 if (abs(diff)>1.0D-14) then 34! LCOV_EXCL_START 35 write(*,*) 'Error L1 norm ',norm,' != 45.' 36! LCOV_EXCL_STOP 37 endif 38 39 call ceedvectornorm(x,ceed_norm_2,norm,err) 40 diff = norm - sqrt(285.) 41 if (abs(diff)>1.0D-6) then 42! LCOV_EXCL_START 43 write(*,*) 'Error L2 norm ',norm,' != sqrt(285.)' 44! LCOV_EXCL_STOP 45 endif 46 47 call ceedvectornorm(x,ceed_norm_max,norm,err) 48 diff = norm - 9. 49 if (abs(diff)>1.0D-14) then 50! LCOV_EXCL_START 51 write(*,*) 'Error Max norm ',norm,' != 9.' 52! LCOV_EXCL_STOP 53 endif 54 55 call ceedvectordestroy(x,err) 56 call ceeddestroy(ceed,err) 57 58 end 59!----------------------------------------------------------------------- 60