モジュール引数として実行フローより引き継がれる変数は,ivalue, fvalue, iImage, fImage, iCube, fCubeの何れかの型をとる.なお,各 型の扱いはC言語の通常変数の場合と同様である.
注意)
これらVIOS変数に対するアクセスは,計算機外データへのアクセスを検
出するため,通常配列アクセスに比べ負荷が大きい.
そのため,明示的な通信(vsSyncCache等)以外に計算機外データへのア
クセスを行わない場合,最適化VIOS変数を利用することが推奨
される.
最適化VIOS変数を利用するためには,各変数宣言時に,
vs_module snake(iImage_opt data, ...)
のように各宣言の後に _opt を付けることで可能となる.
また,以下のようにモジュール中で宣言することにより,各計算機独立 のローカルVIOS変数を宣言することも可能となる.
``VIOS変数''と同じサイズ(ローカルサイズで)の ``ロー
カル変数''を宣言する.
e.x)iImage temp(data);
サイズ1,...に定義されるサイズの ``ローカル変数''を宣
言する.
e.x) iImage temp(30, 40);
従来のVIOSと同様に,[ ]演算子を利用することで,自ワーキングセット からの相対位置で,[[ ]]演算子を利用することで,全体での絶対位置に よるアクセスを行う.
例えば,data[3][]との指定は,自ワーキングセットからx軸方向に3,y 軸方向に0移動したポイントの値を指すことになり,data[[3]][[0]]は, 変数dataにおける(3,0)の要素を指すことになる.