目的
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
関連情報