関数副プログラムにおける ENTRY 文

ENTRY 文が関数副プログラムに含まれている場合,その ENTRY 文は新たな関数を定義しています。関数名は ENTRY 文で指定された名前であり,その結果変数はエントリ・ポイント名か,RESULT によって指定された名前 (存在する場合) です。

エントリ・ポイント結果変数が FUNCTION 文の結果変数と同じ特性を持つ場合,それらの結果変数は異なる名前を持っている場合でも同じ変数を識別します。同じ特性を持っていない場合,これらの結果変数は記憶域に結合されており,以下のいずれかのグループの組込み型のポインタではないスカラでなくてはなりません。

グループ 1 基本整数型,基本実数型,倍精度実数型,基本複素数型,倍精度複素数型,または基本論理型
グループ 2 REAL(16) (VMS と U*X) 型と COMPLEX(16) (VMS と U*X) 型
グループ 3 (同じ文字長を持つ) 基本文字型

関数副プログラム中のすべてのエントリ・ポイント名は,関数副プログラムの名前に結合されています。このため,エントリ・ポイント名または関数副プログラムの名前を定義すると,それに結合されているすべての名前が同じデータ型で定義されます。異なるデータ型を持つ結合されている名前は,すべて不定になります。

ENTRY 文で RESULT が指定され,FUNCTION 文で RECURSIVE が指定されていると,ENTRY 文によって定義される関数のインタフェースは,関数副プログラム中で明示的となります。

次の例は,双曲線関数 SINHCOSH,および TANH を計算する関数副プログラムを示しています。

	REAL FUNCTION TANH(X)
	  TSINH(Y) = EXP(Y) - EXP(-Y)
	  TCOSH(Y) = EXP(Y) + EXP(-Y)

	  TANH = TSINH(X)/TCOSH(X)
	  RETURN

	  ENTRY SINH(X)
	  SINH = TSINH(X)/2.0
	  RETURN

	  ENTRY COSH(X)
	  COSH = TCOSH(X)/2.0
	  RETURN
	END

関連情報

RESULT キーワードの詳細については,「RESULT」を参照してください。