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

\section{概要}

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

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

  \begin{tabular}{lp{10cm}}
    {\tt VRFNB(RX,RY,RZ,N,JX,JY,JZ,RFNB)} &
      {\tt RX}と{\tt RY}に{\tt RFNB}を作用させて{\tt RZ}に代入する. \\
    {\tt VRADD(RX,RY,RZ,N,JX,JY,JZ)} &
      {\tt RX}と{\tt RY}を加えて{\tt RZ}に代入する. \\
    {\tt VRSUB(RX,RY,RZ,N,JX,JY,JZ)} &
      {\tt RX}から{\tt RY}を引いて{\tt RZ}に代入する. \\
    {\tt VRMLT(RX,RY,RZ,N,JX,JY,JZ)} &
      {\tt RX}と{\tt RY}を掛けて{\tt RZ}に代入する. \\
    {\tt VRDIV(RX,RY,RZ,N,JX,JY,JZ)} &
      {\tt RX}を{\tt RY}で割って{\tt RZ}に代入する.
  \end{tabular}

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

  \subsection{VRFNB}
  \label{vrblib.sub.vrfnb}

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

  \subsection{VRADD/VRSUB}
  \label{vrblib.sub.vradd}

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

  \subsection{VRMLT/VRDIV}
  \label{vrblib.sub.vrmlt}

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