gt4f90ioリファレンスマニュアル - 手続名のリスト

入出力範囲限定機能(スライス)

2004年11月17日 森川 靖大


概要

Slice は変数の入出力範囲を指定します。Get_Slice は設定された入出力範囲を取得します。 Slice_Next は入出力範囲を移動することによって、変数全体を読み取るために利用するサブルーチンです。

Slice

subroutine Slice(GT_VARIABLE var, INTEGER dimord, [INTEGER start], [INTEGER count], [INTEGER stride])

変数 var の dimord 番目の次元の入出力範囲を start から stride 個おきに count 個とします。start, count, stride のいずれを省略しても1が仮定されます。成功したか否かを返す引数はありません。仮に指定できない範囲が指定された場合には、指定範囲を含むなるべく広い範囲を設定します。

subroutine Slice(GT_VARIABLE var, GT_VARIABLE compatible)

変数 var の入出力範囲を compatible と同じなるように変更します。

subroutine Slice(GT_VARIABLE var)

変数 var の入出力範囲を「適当に」小さくします。

Get_Slice

subroutine Get_Slice(GT_VARIABLE var, INTEGER dimord, [INTEGER start], [INTEGER count], [INTEGER stride], [LOGICAL count_compact] )

変数 var の dimord 番目の次元の入出力範囲 (start, count, stride) を取得します。count_compact が偽の場合、dimord は count が2以上の次元の中での順番となります。

Slice_Next

subroutine Slice_Next(GT_VARIABLE var, [INTEGER dimord], [LOGICAL err], [INTEGER stat])

変数 var の dimord 番目の次元の start 値を stride * count 個だけ増やすことによって次元範囲を移動します。dimord を省略すると、どれかの次元についてこの操作を行います。成功した場合 stat がゼロになリます。

いずれかの次元について start, stride 値が 1 になるような slice を設定しておいて、slice_next を順次呼び出すと変数全体を走査することができます。

dimname_to_dimord

subroutine dimname_to_dimord(GT_VARIABLE var, CHARACTER(*) name)

変数 var の次元 name が何番目の次元になるかを返します。