2004年11月17日 森川 靖大
Slice は変数の入出力範囲を指定します。Get_Slice は設定された入出力範囲を取得します。 Slice_Next は入出力範囲を移動することによって、変数全体を読み取るために利用するサブルーチンです。
変数 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 の入出力範囲を「適当に」小さくします。
変数 var の dimord 番目の次元の入出力範囲 (start, count, stride) を取得します。count_compact が偽の場合、dimord は count が2以上の次元の中での順番となります。
変数 var の dimord 番目の次元の start 値を stride * count 個だけ増やすことによって次元範囲を移動します。dimord を省略すると、どれかの次元についてこの操作を行います。成功した場合 stat がゼロになリます。
いずれかの次元について start, stride 値が 1 になるような slice を設定しておいて、slice_next を順次呼び出すと変数全体を走査することができます。
subroutine dimname_to_dimord(GT_VARIABLE var, CHARACTER(*) name)
変数 var の次元 name が何番目の次元になるかを返します。