% 表題   AGCM5 第4部 コードリファレンス GCM基本ルーチンライブラリ (雑)
%
% 履歴   
%\Drireki{96/03/12 竹広真一}
%
\section{サブルーチンの説明 : 雑}
\label{usubs}

配列, 時間単位変換に関する雑多なサブルーチン群. 

\subsection{RESET}
\label{reset}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     配列の値を 0 にセットする. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          CALL RESET
         O      ( DATA  ,
         D        IDIM   )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt DATA} & {\tt [R]} & 配列. \\
      {\tt IDIM} & {\tt [I]} & 配列の次元. \\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 特になし
  \end{enumerate}
\end{enumerate}

\subsection{COPY}
\label{copy}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     配列を複写する. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          CALL COPY     !" 配列を複写
         O     ( DATAO  ,
         I       DATAI  ,
         D       IDIM     )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt DATAO} & {\tt [R]} & 複写先の配列. \\
      {\tt DATAI} & {\tt [R]} & 複写元の配列. \\
      {\tt IDIM}  & {\tt [I]} & 配列の次元. \\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 特になし
  \end{enumerate}
\end{enumerate}

\subsection{FILLV}
\label{fillv}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     配列のある範囲を一定値で埋める. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
           CALL FILLV
         M     ( DATA  ,
         I       VALUE ,
         D       IMIN  , IMAX  , IDIM  , JMIN  , JMAX  , JDIM  ,
         D       KMIN  , KMAX                                   )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt DATA}  & {\tt [R]} & 大きさ {\tt (IDIM,JDIM,*)} の 3 次元配列. \\
      {\tt VALUE} & {\tt [R]} & 設定する値\\
      {\tt IMIN}  & {\tt [I]} & 設定する第 1 次元の範囲の始め\\
      {\tt IMAX}  & {\tt [I]} & 設定する第 1 次元の範囲の終り\\
      {\tt IDIM}  & {\tt [I]} & 第 1 次元の大きさ\\
      {\tt JMIN}  & {\tt [I]} & 設定する第 2 次元の範囲の始め\\
      {\tt JMAX}  & {\tt [I]} & 設定する第 2 次元の範囲の終り\\
      {\tt JDIM}  & {\tt [I]} & 第 2 次元の大きさ\\
      {\tt KMIN}  & {\tt [I]} & 設定する第 3 次元の範囲の始め\\
      {\tt KMAX}  & {\tt [I]} & 設定する第 3 次元の範囲の終り\\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 3 次元目の大きさは {\tt KMAX} 以上でなければならない. 
  \end{enumerate}
\end{enumerate}


\subsection{MAXMIN}
\label{maxmin}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     配列の最小値最大値を標準出力に出力する. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
           CALL MAXMIN
          I    ( DATA, IDIM, JDIM, KMAX, IMAX, JMAX, HITEM )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt DATA}  & {\tt [R]} & 大きさ {\tt (IDIM,JDIM,*)} の 3 次元配列. \\
      {\tt IDIM}  & {\tt [I]} & 第 1 次元の大きさ\\
      {\tt JDIM}  & {\tt [I]} & 第 2 次元の大きさ\\
      {\tt KMAX}  & {\tt [I]} & 最大最小値を調べる第 3 次元の範囲の終り\\
      {\tt IMAX}  & {\tt [I]} & 最大最小値を調べる第 1 次元の範囲の終り\\
      {\tt JMAX}  & {\tt [I]} & 最大最小値を調べる第 2 次元の範囲の終り\\
      {\tt HITEM} & {\tt [C*(*)]} & 出力時の表題\\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 3 次元目の大きさは {\tt KMAX} 以上でなければならない. 
  \end{enumerate}
\end{enumerate}

\subsection{RVMXMN}
\label{rvmxmn}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     配列の最小値最大値とその位置を調べる.
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          CALL RVMXMN
         O      ( DMAX  , DMIN  , 
         O        IPMAX , JPMAX , KPMAX , 
         O        IPMIN , JPMIN , KPMIN , 
         I        DATA  , IDIM  , JDIM  , KDIM , 
         I        ISTR  , IEND  , JSTR  , JEND , KSTR , KEND  )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt DMIN,DMAX}  & {\tt [R]} & 配列 {\tt DATA} での最大値と最小値\\
      {\tt IPMAX,JPMAX,KPMAX}  & {\tt [I]} & 最大値をとる要素の添字\\
      {\tt IPMIN,JPMIN,KPMIN}  & {\tt [I]} & 最小値をとる要素の添字\\
      {\tt DATA}  & {\tt [R]} & 大きさ {\tt (IDIM,JDIM,KDIM)} の 3 次元配列. \\
      {\tt IDIM,JDIM,KDIM}  & {\tt [I]} & 配列の大きさ\\
      {\tt ISTR}  & {\tt [I]} & 最大最小値を調べる
                                第 1 次元の範囲の始まり\\
      {\tt IEND}  & {\tt [I]} & 最大最小値を調べる
                                第 1 次元の範囲の終り\\
      {\tt JSTR}  & {\tt [I]} & 最大最小値を調べる
                                第 2 次元の範囲の始まり\\
      {\tt JEND}  & {\tt [I]} & 最大最小値を調べる
                                第 2 次元の範囲の終り\\
      {\tt KSTR}  & {\tt [I]} & 最大最小値を調べる
                                第 3 次元の範囲の始まり\\
      {\tt KEND}  & {\tt [I]} & 最大最小値を調べる
                                第 3 次元の範囲の終り\\
      {\tt JMAX}  & {\tt [I]} & 最大最小値を調べる第 2 次元の範囲の終り\\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 特に無し.
  \end{enumerate}
\end{enumerate}

\subsection{IUNITM}
\label{iunitm}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     時間を秒に変換する. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
         IUNITM( KT , HUNIT  , IDELT  )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt KT}    & {\tt [I]}     & 変換する時間(単位{\tt HUNIT})\\
      {\tt HUNIT} & {\tt [C*(*)]} & 入力する時間の単位\\
      {\tt IDELT} & {\tt [I]}     & Δｔ(単位:秒)\\
      {\tt IUNITM}& {\tt [I]}     & 秒に変換された時間\\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 時間単位が {\tt 'STEP'} あるいは {\tt 'step'} のときには
          {\tt IDELT * KT} が出力される. それ以外の時間単位では 
          {tt IDELT} はダミー変数である. 
  \end{enumerate}
\end{enumerate}


\subsection{MALLOC}
\label{malloc}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     ワーク領域のポインターを割り当てる. 
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          MALLOC( LENGTH, IPMAX  )
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt LENGTH} & {\tt [I]} & 割当て長さ. \\
      {\tt IPMAX}  & {\tt [I]} & 最大領域配列の次元. \\
      {\tt MALLOC} & {\tt [I]} & 割り当てられた配列のポインター
                                 (先頭アドレス)\\
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 特になし
  \end{enumerate}
\end{enumerate}

\subsection{MFREE}
\label{mfree}
\begin{enumerate}
  \item 機能 
  \begin{quote}
     ワーク領域のポインターをリセットする.
  \end{quote}
  \item 呼び出し方法 
      \begin{verbatim}
          MFREE
      \end{verbatim}
  \item パラメーターの説明 
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt MFREE}  & {\tt [I]} & 常に 1 を返す. 
    \end{tabular}
  \end{quote}
  \item 備考 
  \begin{enumerate}
    \item 特になし
  \end{enumerate}
\end{enumerate}

%%% Local Variables: 
%%% mode: japanese-latex
%%% TeX-master: "/usr/export/home/takepiro/model/bsnsq_2d/doc/sub"
%%% End: 
