%表題   MATH1下位基本数学処理ライブラリリファレンスマニュアル
%
%履歴
%\Drireki{
%         90/03/22 塩谷雅人
%         91/09/05 林祥介
%         91/12/11 塩谷雅人
%         92/03/14 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%        }
%
%  \Dchapter{GNMLIB : きりのよい打ち切り数}
\Dchapterhead
\label{gnmlib}

\section{概要}

きりのよい数を求めるサブルーチン・関数パッケージ.
大小比較はLRLLIB (第\ref{lrllib}章)を使っておこなうので,
誤差を含んだ比較ができる.

\vspace{1em}
ここでいうきりのよい数とは,
1.0, 1.2, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 6.0, 8.0 $\times 10^{n}$
で表現できる数または0である.
きりのよい数のリストはユーザーが設定・参照することもできる.

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

  \begin{tabular}{lp{11cm}}
    {\tt GNLT(RX,BX,IP)} & {\tt RX}より小さいきりのよい数のうちで
      最大のものを求める. \\
    {\tt GNLE(RX,BX,IP)} & {\tt RX}以下のきりのよい数のうちで
      最大のものを求める. \\
    {\tt GNGT(RX,BX,IP)} & {\tt RX}より大きいきりのよい数のうちで
      最小のものを求める. \\
    {\tt GNGE(RX,BX,IP)} & {\tt RX}以上のきりのよい数のうちで
      最小のものを求める. \\
    & 結果は${\tt BX}\times 10^{\tt IP}$の形で返される.
      きりのよい数のリストは次のサブルーチンで設定・参照できる. \\
    {\tt GNSBLK(XB,NB)} & きりのよい数のリストを設定する. \\
    {\tt GNQBLK(XB,NB)} & 現在設定されているリストを参照する. \\
    {\tt GNSAVE} & 現在設定されているリストを保存する. \\
    {\tt GNRSET} & {\tt GNSAVE}が保存したリストで再設定する. \\
  \end{tabular}

\section{関数のリスト}

  \begin{tabular}{lp{11cm}}
    {\tt RGNLT(RX)} & {\tt RX}より小さいきりのよい数のうちで
                      最大のものを求める. \\
    {\tt RGNLE(RX)} & {\tt RX}以下のきりのよい数のうちで最大のものを求める. \\
    {\tt RGNGT(RX)} & {\tt RX}より大きいきりのよい数のうちで
                      最小のものを求める. \\
    {\tt RGNGE(RX)} & {\tt RX}以上のきりのよい数のうちで最小のものを求める.
  \end{tabular}

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

  \subsection{GNLT/GNGT}
  \label{gnmlib.sub.gnlt}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          与えた実数値より小さい/大きいきりのよい数のうちで
          最大/最小のものを求める.
          結果は${\tt BX}\times 10^{\tt IP}$の形で返される.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL GNLT(RX,BX,IP)}\\
          {\tt CALL GNGT(RX,BX,IP)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt RX}  & {\tt (R)} & 調べる実数値.\\
            {\tt BX}  & {\tt (R)} & きりのよい数の仮数部.\\
            {\tt IP}  & {\tt (I)} & きりのよい数の指数部.
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item きりのよい数のリストは{\tt GNSBLK, GNQBLK}で設定・参照できる.
        \end{enumerate}
    \end{enumerate}

  \subsection{GNLE/GNGE}
  \label{gnmlib.sub.gnle}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          与えた実数値以下/以上のきりのよい数のうちで
          最大/最小のものを求める.
          結果は${\tt BX}\times 10^{\tt IP}$の形で返される.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL GNLE(RX,BX,IP)}\\
          {\tt CALL GNGE(RX,BX,IP)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt RX}  & {\tt (R)} & 調べる実数値.\\
            {\tt BX}  & {\tt (R)} & きりのよい数の仮数部.\\
            {\tt IP}  & {\tt (I)} & きりのよい数の指数部.
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item きりのよい数のリストは{\tt GNSBLK, GNQBLK}で設定・参照できる.
        \end{enumerate}
    \end{enumerate}

  \subsection{GNSBLK/GNQBLK}
  \label{gnmlib.sub.gnsblk}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          きりのよい数のリストを設定/参照する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL GNSBLK(XB,NB)}\\
          {\tt CALL GNQBLK(XB,NB)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt XB}  & {\tt (R)} & きりのよい数を昇順に納めた実数型配列.
                        {\tt XB(1)}=1.0, {\tt XB(NB)}=10.0となるように
                        指定する. \\
            {\tt NB}  & {\tt (I)} & 配列の寸法.
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item {\tt NB}は20以下でなければならない.
        \end{enumerate}
    \end{enumerate}

  \subsection{GNSAVE/GNRSET}
  \label{gnmlib.sub.gnsave}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          現在設定されているきりのよい数のリストを
          保存する/保存してあったリストで再設定する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL GNSAVE}\\
          {\tt CALL GNRSET}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            & & なし
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item なし
        \end{enumerate}
    \end{enumerate}

\section{関数の説明}

  \subsection{RGNLT/RGNLE/RGNGT/RGNGE}
  \label{gnmlib.sub.rgnlt}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          きりのよい数を求める.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt RGNLT(RX)}\\
          {\tt RGNLE(RX)}\\
          {\tt RGNGT(RX)}\\
          {\tt RGNGE(RX)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt RX}    & {\tt (R)} & 調べる実数値.\\
            {\tt RGNLT} & {\tt (R)} & {\tt RX}より小さいきりのよい数のうちで
                                      最大のものを与える関数値. \\
            {\tt RGNLE} & {\tt (R)} & {\tt RX}以下のきりのよい数のうちで
                                      最大のものを与える関数値. \\
            {\tt RGNGT} & {\tt (R)} & {\tt RX}より大きいきりのよい数のうちで
                                      最小のものを与える関数値. \\
            {\tt RGNGE} & {\tt (R)} & {\tt RX}以上のきりのよい数のうちで
                                      最小のものを与える関数値.
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item きりのよい数のリストは{\tt GNSBLK, GNQBLK}で設定・参照できる.
        \end{enumerate}
    \end{enumerate}
