1!----------------------------------------------------------------------- 2 subroutine setup(ctx,q,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,& 3& u15,u16,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,ierr) 4! LCOV_EXCL_START 5 real*8 ctx(1) 6 real*8 u1(8) 7 real*8 v1(8) 8 integer q,ierr 9 10 do i=1,q 11 v1(i)=u1(i) 12 enddo 13 14 ierr=0 15 end 16! LCOV_EXCL_STOP 17!----------------------------------------------------------------------- 18 subroutine mass(ctx,q,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,& 19& u15,u16,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,ierr) 20! LCOV_EXCL_START 21 real*8 ctx(1) 22 real*8 u1(8) 23 real*8 u2(8) 24 real*8 v1(8) 25 integer q,ierr 26 27 do i=1,q 28 v1(i)=u1(i)*u2(i) 29 enddo 30 31 ierr=0 32 end 33! LCOV_EXCL_STOP 34!----------------------------------------------------------------------- 35 program test 36 37 include 'ceedf.h' 38 39 integer ceed,err 40 integer qf_setup,qf_mass 41 character arg*32 42 43! LCOV_EXCL_START 44 external setup,mass 45! LCOV_EXCL_STOP 46 47 call getarg(1,arg) 48 call ceedinit(trim(arg)//char(0),ceed,err) 49 50 call ceedqfunctioncreateinterior(ceed,1,setup,& 51 &SOURCE_DIR& 52 &//'t400-qfunction.h:setup'//char(0),qf_setup,err) 53 call ceedqfunctionaddinput(qf_setup,'w', 1,ceed_eval_weight,err) 54 call ceedqfunctionaddoutput(qf_setup,'qdata',1,ceed_eval_none,err) 55 56 call ceedqfunctioncreateinterior(ceed,1,mass,& 57 &SOURCE_DIR& 58 &//'t400-qfunction.h:mass'//char(0),qf_mass,err) 59 call ceedqfunctionaddinput(qf_mass,'qdata',1,ceed_eval_none,err) 60 call ceedqfunctionaddinput(qf_mass,'u',1,ceed_eval_interp,err) 61 call ceedqfunctionaddoutput(qf_mass,'v',1,ceed_eval_interp,err) 62 63 call ceedqfunctionview(qf_setup,err) 64 call ceedqfunctionview(qf_mass,err) 65 66 call ceedqfunctiondestroy(qf_setup,err) 67 call ceedqfunctiondestroy(qf_mass,err) 68 call ceeddestroy(ceed,err) 69 end 70!----------------------------------------------------------------------- 71