1program tests 2 3 use tst_utils 4 5 implicit none 6 7 type(variable_t) :: va 8 real(dp) :: a, b(2), c(2,2) 9 real(dp), pointer :: pa =>null(), pb(:)=>null(), pc(:,:)=>null() 10 logical :: success 11 12#include "variable_declarations_.inc" 13 14 a = 1.0_dp 15 b(:) = 2._dp 16 c(:,:) = 3._dp 17 18 ! do 'va = a' 19 call assign(va,a) 20 pd0 = transfer(va%enc,pd0) 21 print '(a2,tr1,f4.2)',va%t,pd0%p 22 ! associate pa with va 'pa => va' 23 call associate(pa,va,success=success) 24 if ( success ) then 25 print *,'Success: ',pa 26 end if 27 if ( associatd(pa,va) ) then 28 print *,'Associated: ',pa 29 end if 30 call associate(pb,va,success=success) 31 if ( .not. success ) then 32 print *,'Success, not associated' 33 end if 34 35 call assign(va,b) 36 call assign(b,va) 37 pd1 = transfer(va%enc,pd1) 38 print '(a2,2(tr1,f4.2))',va%t,pd1%p 39 40 call assign(va,c) 41 pd2 = transfer(va%enc,pd2) 42 print '(a2,4(tr1,f4.2))',va%t,pd2%p 43 44 call assign(va,1) 45 pi0 = transfer(va%enc,pi0) 46 print '(a2,tr1,i0)',va%t,pi0%p 47 48 call delete(va) 49 50end program tests 51