%表題   MATH1下位数学基本処理ライブラリリファレンスマニュアル
%
%履歴
%\Drireki{
%         90/03/22 塩谷雅人
%         91/09/05 林祥介
%         91/12/11 塩谷雅人
%         92/03/14 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%        }
%
%  \Dchapter{VIBLIB : 2つの整数型配列への作用素}
\Dchapterhead
\label{viblib}

\section{概要}

  2つの整数型変数に対して1つの整数値がきまるような関数を,
  2つの整数型配列の各要素に対して作用させ,
  結果を整数型配列として得るようなサブルーチンパッケージ.
  以下では総称名を示す.
  たとえば{\tt VIFNB}に対しては, ほかに{\tt VIFNB0}, {\tt VIFNB1}
  という名前のサブルーチンも存在する.
  {\tt VIFNB0}は欠損値処理をおこなわない;
  {\tt VIFNB1}は欠損値処理をおこなう.
  {\tt VIFNB}は内部変数{\tt 'LMISS'}が{\tt .TRUE.}なら欠損値処理をおこなう;
  {\tt .FALSE.}なら欠損値処理をおこなわない(初期値は{\tt .FALSE.}).
  また欠損値処理をおこなうときの欠損値は,
  内部変数{\tt 'IMISS'}が決める(初期値は999).
  (詳しくは\ref{syslib.sub.glpget}節参照)

\section{サブルーチンのリスト}

  \begin{tabular}{lp{10cm}}
    {\tt VIFNB(IX,IY,IZ,N,JX,JY,JZ,IFNB)} &
      {\tt IX}と{\tt IY}に{\tt IFNB}を作用させて{\tt IZ}に代入する. \\
    {\tt VIADD(IX,IY,IZ,N,JX,JY,JZ)} &
      {\tt IX}と{\tt IY}を加えて{\tt IZ}に代入する. \\
    {\tt VISUB(IX,IY,IZ,N,JX,JY,JZ)} &
      {\tt IX}から{\tt IY}を引いて{\tt IZ}に代入する. \\
    {\tt VIMLT(IX,IY,IZ,N,JX,JY,JZ)} &
      {\tt IX}と{\tt IY}を掛けて{\tt IZ}に代入する. \\
    {\tt VIDIV(IX,IY,IZ,N,JX,JY,JZ)} &
      {\tt IX}を{\tt IY}で割って{\tt IZ}に代入する. \\
  \end{tabular}

\section{サブルーチンの説明}

  \subsection{VIFNB}
  \label{viblib.sub.vifnb}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          整数型配列{\tt IX}と{\tt IY}に
          整数型関数{\tt IFNB}を作用させて
          整数型配列{\tt IZ}に代入する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL VIFNB(IX,IY,IZ,N,JX,JY,JZ,IFNB)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt IX}, {\tt IY}, {\tt IZ} & {\tt (I(*))} &
               処理する整数型配列. \\
            {\tt N}                      & {\tt (I)}    &
               処理する配列要素の個数. \\
            {\tt JX}, {\tt JY}, {\tt JZ} & {\tt (I)}    &
               配列{\tt IX}, {\tt IY}, {\tt IZ}において,
               処理する配列要素の間隔. \\
            {\tt IFNB}                   & {\tt 関数名} &
               引数が2個である整数型関数名.
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item 関数名は, それが外部関数ならEXTERNAL文で,
            組込み関数ならINTRINSIC文で宣言しておかなければならない.
        \end{enumerate}
    \end{enumerate}

  \subsection{VIADD/VISUB}
  \label{viblib.sub.viadd}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          整数型配列{\tt IX}と/から整数型配列{\tt IY}
          を加えて/を引いて整数型配列{\tt IZ}に代入する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL VIADD(IX,IY,IZ,N,JX,JY,JZ)}\\
          {\tt CALL VISUB(IX,IY,IZ,N,JX,JY,JZ)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt IX}, {\tt IY}, {\tt IZ} & {\tt (I(*))} &
               処理する整数型配列. \\
            {\tt N}                      & {\tt (I)}    &
               処理する配列要素の個数. \\
            {\tt JX}, {\tt JY}, {\tt JZ} & {\tt (I)}    &
               配列{\tt IX}, {\tt IY}, {\tt IZ}において,
               処理する配列要素の間隔. \\
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item なし.
        \end{enumerate}
    \end{enumerate}

  \subsection{VIMLT/VIDIV}
  \label{viblib.sub.vimlt}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          整数型配列{\tt IX}と/を整数型配列{\tt IY}を掛けて/で割って
          整数型配列{\tt IZ}に代入する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL VIMLT(IX,IY,IZ,N,JX,JY,JZ)}\\
          {\tt CALL VIDIV(IX,IY,IZ,N,JX,JY,JZ)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt IX}, {\tt IY}, {\tt IZ} & {\tt (I(*))} &
               処理する整数型配列. \\
            {\tt N}                      & {\tt (I)}    &
               処理する配列要素の個数. \\
            {\tt JX}, {\tt JY}, {\tt JZ} & {\tt (I)}    &
               配列{\tt IX}, {\tt IY}, {\tt IZ}において,
               処理する配列要素の間隔. \\
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item なし.
        \end{enumerate}
    \end{enumerate}
