INTRINSIC 属性によって、名前を組み込みプロシージャーとして識別し、組み込みプロシージャーの固有の名前を実引数として使用できるようにします。
有効範囲単位で、固有の組み込みプロシージャー名を実引数として使用する場合、INTRINSIC 属性を指定する必要があります。一般名には、INTRINSIC 属性がありますが、それらが、固有名である場合を除いて、引数として渡すことができません。
INTRINSIC 属性を持つ一般または固有のプロシージャーは、それぞれのプロパティーを保持します。
INTRINSIC 属性を持つ一般組み込みプロシージャーは、一般インターフェース・ブロックの名前にすることもできます。一般インターフェース・ブロックによって、一般組み込みプロシージャーへの拡張機能を定義します。
PROGRAM MAIN
INTRINSIC SIN, ABS
INTERFACE ABS
LOGICAL FUNCTION MYABS(ARG)
LOGICAL ARG
END FUNCTION
END INTERFACE
LOGICAL LANS,LVAR
REAL(8) DANS,DVAR
DANS = ABS(DVAR) ! Calls the DABS intrinsic procedure
LANS = ABS(LVAR) ! Calls the MYABS external procedure
! Pass intrinsic procedure name to subroutine
CALL DOIT(0.5,SIN,X) ! Passes the SIN specific intrinsic
END PROGRAM
SUBROUTINE DOIT(RIN,OPER,RESULT)
INTRINSIC :: MATMUL
INTRINSIC COS
RESULT = OPER(RIN)
END SUBROUTINE