All the compilers I tried choke on this one, so I guess
I am doing something wrong...
If I have
use def
in the following piece of code, it works.
But if I want to use only some entities of the module, how do I
specify my operator?
Thanks
Bertrand
----------------------------------------
module def
integer :: ia, ib, ic
interface operator ( .EQMODTEN. )
module procedure EQ_MOD_10
end interface
contains
logical function EQ_MOD_10( n1, n2)
implicit none
integer, intent( in) :: n1, n2
integer :: m1, m2
m1 = MOD( n1, 10)
m2 = MOD( n2, 10)
EQ_MOD_10 = .false.
if ( m1 == m2 ) EQ_MOD_10 = .true.
end function EQ_MOD_10
end module def
program test
! use def ! OK
use def, only : ib, .EQMODTEN. ! wrong
implicit none
integer :: na, nb
na = 17
nb = 43
if ( na .EQMODTEN. nb ) then
print *, ' yes '
else
print *, ' no '
endif
end program test
-------------------------------------
--
Bertrand Meltz
Commissariat a lŽEnergie Atomique | e-mail : [log in to unmask]
CEA / DIF , BP 12 | Tel : (33) [0] 1 69 26 57 83
91680 Bruyeres-le-Chatel , FRANCE | Fax : (33) [0] 1 69 26 70 93
|