目的
INTRINSIC 属性は、名前を組み込みプロシージャーとして識別し、組み込みプロシージャーの特定名を実引き数として使用できるようにします。
構文
>>-INTRINSIC--+-----+--name_list------------------------------->< '- ::-' |
ある有効範囲単位内で組み込みプロシージャーの特定名を実引き数として使用する場合、その特定名は 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
関連情報