/opt/imh-python/lib/python3.9/site-packages/numpy/f2py/tests/src/crackfortran
NameSizeModeActions
accesstype.f902080644editdlrm
data_stmts.f905800644editdlrm
foo_deps.f901280644editdlrm
gh2848.f902820644editdlrm
gh15035.f3750644editdlrm
gh17859.f3400644editdlrm
gh22648.pyf2410644editdlrm
gh23533.f1260644editdlrm
gh23598.f901010644editdlrm
gh23598Warn.f902050644editdlrm
gh23879.f903320644editdlrm
operators.f9011840644editdlrm
privatemod.f901740644editdlrm
publicmod.f901670644editdlrm
pubprivmod.f901650644editdlrm
unicode_comment.f90980644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/numpy/f2py/tests/src/crackfortran/operators.f90 (1184B)
module foo type bar character(len = 32) :: item end type bar interface operator(.item.) module procedure item_int, item_real end interface operator(.item.) interface operator(==) module procedure items_are_equal end interface operator(==) interface assignment(=) module procedure get_int, get_real end interface assignment(=) contains function item_int(val) result(elem) integer, intent(in) :: val type(bar) :: elem write(elem%item, "(I32)") val end function item_int function item_real(val) result(elem) real, intent(in) :: val type(bar) :: elem write(elem%item, "(1PE32.12)") val end function item_real function items_are_equal(val1, val2) result(equal) type(bar), intent(in) :: val1, val2 logical :: equal equal = (val1%item == val2%item) end function items_are_equal subroutine get_real(rval, item) real, intent(out) :: rval type(bar), intent(in) :: item read(item%item, *) rval end subroutine get_real subroutine get_int(rval, item) integer, intent(out) :: rval type(bar), intent(in) :: item read(item%item, *) rval end subroutine get_int end module foo