1*547d9b97Sjeremylt!----------------------------------------------------------------------- 2*547d9b97Sjeremylt program test 3*547d9b97Sjeremylt 4*547d9b97Sjeremylt include 'ceedf.h' 5*547d9b97Sjeremylt 6*547d9b97Sjeremylt integer ceed,err 7*547d9b97Sjeremylt integer x,n 8*547d9b97Sjeremylt real*8 a(10) 9*547d9b97Sjeremylt real*8 norm,diff 10*547d9b97Sjeremylt integer*8 aoffset 11*547d9b97Sjeremylt character arg*32 12*547d9b97Sjeremylt 13*547d9b97Sjeremylt call getarg(1,arg) 14*547d9b97Sjeremylt 15*547d9b97Sjeremylt call ceedinit(trim(arg)//char(0),ceed,err) 16*547d9b97Sjeremylt 17*547d9b97Sjeremylt n=10 18*547d9b97Sjeremylt 19*547d9b97Sjeremylt call ceedvectorcreate(ceed,n,x,err) 20*547d9b97Sjeremylt 21*547d9b97Sjeremylt do i=1,10 22*547d9b97Sjeremylt if (mod(i,2) == 0) then 23*547d9b97Sjeremylt a(i)=i-1 24*547d9b97Sjeremylt else 25*547d9b97Sjeremylt a(i)=-(i-1) 26*547d9b97Sjeremylt endif 27*547d9b97Sjeremylt enddo 28*547d9b97Sjeremylt aoffset=0 29*547d9b97Sjeremylt call ceedvectorsetarray(x,ceed_mem_host,ceed_use_pointer,a,aoffset,err) 30*547d9b97Sjeremylt 31*547d9b97Sjeremylt call ceedvectornorm(x,ceed_norm_1,norm,err) 32*547d9b97Sjeremylt diff = norm - 45. 33*547d9b97Sjeremylt if (abs(diff)>1.0D-14) then 34*547d9b97Sjeremylt! LCOV_EXCL_START 35*547d9b97Sjeremylt write(*,*) 'Error L1 norm ',norm,' != 45.' 36*547d9b97Sjeremylt! LCOV_EXCL_STOP 37*547d9b97Sjeremylt endif 38*547d9b97Sjeremylt 39*547d9b97Sjeremylt call ceedvectornorm(x,ceed_norm_2,norm,err) 40*547d9b97Sjeremylt diff = norm - sqrt(285.) 41*547d9b97Sjeremylt if (abs(diff)>1.0D-6) then 42*547d9b97Sjeremylt! LCOV_EXCL_START 43*547d9b97Sjeremylt write(*,*) 'Error L2 norm ',norm,' != sqrt(285.)' 44*547d9b97Sjeremylt! LCOV_EXCL_STOP 45*547d9b97Sjeremylt endif 46*547d9b97Sjeremylt 47*547d9b97Sjeremylt call ceedvectornorm(x,ceed_norm_max,norm,err) 48*547d9b97Sjeremylt diff = norm - 9. 49*547d9b97Sjeremylt if (abs(diff)>1.0D-14) then 50*547d9b97Sjeremylt! LCOV_EXCL_START 51*547d9b97Sjeremylt write(*,*) 'Error Max norm ',norm,' != 9.' 52*547d9b97Sjeremylt! LCOV_EXCL_STOP 53*547d9b97Sjeremylt endif 54*547d9b97Sjeremylt 55*547d9b97Sjeremylt call ceedvectordestroy(x,err) 56*547d9b97Sjeremylt call ceeddestroy(ceed,err) 57*547d9b97Sjeremylt 58*547d9b97Sjeremylt end 59*547d9b97Sjeremylt!----------------------------------------------------------------------- 60