50£®¡¡ Ò»¸ö·Ç´¿º¯Êý |
REAL FUNCTION polluted(w, x, y)
¡¡¡¡REAL, INTENT(IN) :: W
¡¡¡¡REAL, INTENT(IN) :: x(10)
¡¡¡¡REAL, TARGET :: Y(100)
¡¡¡¡INTEGER, SAVE :: last = 1
¡¡¡¡REAL, POINTER :: z
¡¡¡¡INTEGER num_call
¡¡¡¡REAL, TARGET :: lookup
¡¡¡¡COMMON /GLOBAL/ num_call, lookup
¡¡¡¡INTERFACE
¡¡¡¡¡¡¡¡PURE SUBROUTINE bin_search(a, b, i)
¡¡¡¡¡¡¡¡REAL, INTENT(IN) :: a
¡¡¡¡¡¡¡¡REAL, INTENT(INOUT) :: b(100)
¡¡¡¡¡¡¡¡INTEGER, INTENT(INOUT):: i
¡¡¡¡¡¡¡¡END SUBROUTINE bin_search
¡¡END INTERFACE
¡¡¡¡CALL bin_search(w,lookup, last)
¡¡¡¡z => y(last:last+9)
¡¡¡¡num_call = num_call + 1
¡¡¡¡polluted = SUM (x*z)
END FUNCTION polluted
Copyright: NPACT |