%表題   らくらくDCL
%
%履歴
%\Drireki{
%         95/04/13 余田 成男
%        }
%
%\Dchapter{はじめに}
\Dchapterhead

DCL はグラフィクスだけではありません. GRPH1, GRPH2 の他にも MATH1,
MATH2, MISC1, MISC2(今は空です), ETC などさまざまな機能を持つパッケー
ジ群があります. うまく使うと非常に機能的にプログラムできるようになりま
す.
\vspace{1em}

ここでは概観するだけにしますが, それぞれのマニュアルを参照していろいろ
使ってみましょう. この辺をカバーする「らくらくDCL Part II」をそのうち
出せれば良いのですが. 

%-----------------------------------------------------------------------
\section{MATH1}

数学処理下位パッケージ MATH1 は, DCLのなかでもっとも基本的なサブルーチ
ンおよび関数を集めたパッケージです.
\vspace{1em}

MATH1 は, 次のサブパッケージから構成されています. 
\begin{itemize}
   \item {\bf SYSLIB : }  内部変数管理, メッセージ出力
   \item {\bf OSLIB  : }  システム依存ルーチン
   \item {\bf FNCLIB : }  基本関数(最大整数, 剰余など)
   \item {\bf SUBLIB : }  基本サブルーチン(自然数列の生成など)
   \item {\bf CHRLIB : }  文字列の左・右詰め, 反転, 空白処理
   \item {\bf LRLLIB : }  実数値の比較
   \item {\bf BLKLIB : }  実数値と順序列
   \item {\bf GNMLIB : }  きりのよい打ち切り数
   \item {\bf INTLIB : }  実数に近い整数
   \item {\bf INDXLIB : } 配列要素の検索
   \item {\bf IFALIB : }  整数の欠損値処理付最大最小など
   \item {\bf RFALIB : }  実数の欠損値処理付最大最小など
   \item {\bf RFBLIB : }  実数列の内積,共分散,相関係数
   \item {\bf VIALIB : }  1つの整数型配列への作用素
   \item {\bf VIBLIB : }  2つの整数型配列への作用素
   \item {\bf VRALIB : }  1つの実数型配列への作用素
   \item {\bf VRBLIB : }  2つの実数型配列への作用素
   \item {\bf CTRLIB : }  座標変換/回転
   \item {\bf MAPLIB : }  地図投影変換
\end{itemize}

これらの中の多くのパッケージでは, 「欠損値の処理」や「実数の誤差を考慮
した大小関係の判定」ができるようになっています. なお, これらのパッケー
ジの中でソースレベルでの機種依存性があるのは OSLIB のみです. SYSLIB は
システムに依存する定数を管理しているだけです.

  
%-----------------------------------------------------------------------
\section{MATH2}

数学処理上位パッケージ MATH2 は, 地球流体の様々な現場で標準的に用いら
れる数値計算のための基本ツール群として計画されています. しかし残念な
がら, あまり整備が進んでいないというのが現状です. 
\vspace{1em}

MATH2 に対応するパッケージには, 既存のソフトウェア(例えばIMSL等)を参照
すればソースコードが手に入るようなものが多いのですが, その精度等の信頼
度は必ずしも我々にとって十分なものとは言えません. また, これらのソフト
ウェアには PDS(Public Domain Softwares)でないものが多いので, 自分たち
のソフトウェアに組み込んで自由に配布することができないという難点があり
ます.
\vspace{1em}

MATH2 は, 現在, 次のサブパッケージから構成されています. 
\begin{itemize}
   \item {\bf FFTLIB : }  高速フーリエ変換
   \item {\bf ODELIB : }  常微分方程式(ルンゲクッタ)
   \item {\bf SHTLIB : }  球面調和関数
   \item {\bf VSTLIB : }  ベクトルデータの統計処理
   \item {\bf INTRLIB : } 補間
   \item {\bf RNMLIB : }  移動平均
\end{itemize}

MATH2 パッケージの整備目標は, 差分の基本スキーム, 基本統計パッケージ,
特種関数, 固有値問題, $\ldots$ 等々を自力開発する, あるいは, PDS から
精選するということです. このために今も継続的な努力がなされています.


%-----------------------------------------------------------------------
\section{MISC1}


その他の基本処理下位パッケージ MISC1 は, ビットパターン・文字の処理や, 
ファイルの入出力などシステムに依存するライブラリ, および日付・時間など, 
数学的取り扱いとはやや異なるライブラリなどを含んでいます.
\vspace{1em}

MISC1 は, 次のサブパッケージから構成されています. 

\vspace{1em}

\renewcommand{\arraystretch}{1.5}
\begin{tabular}{llccc}
  $\bullet$ {\bf BITLIB: } & ビットパターンの処理     & ＊ & ☆ & C  	\\
  $\bullet$ {\bf CHGLIB: } & 大文字・小文字の変換     & ＊ & ☆ & FC 	\\
  $\bullet$ {\bf CHKLIB: } & 文字種の判別	       & ＊ &    &	\\
  $\bullet$ {\bf CHNLIB: } & 文字列の置換	       & ＊ &    &	\\
  $\bullet$ {\bf FMTLIB: } & 数値の文字列化	       & ＊ &    & 	\\
  $\bullet$ {\bf DATELIB:} & 日付の取り扱い	       & ＊ & ☆ & D  	\\
  $\bullet$ {\bf TIMELIB:} & 時刻の取り扱い	       & ＊ & ☆ & D  	\\
  $\bullet$ {\bf MISCLIB:} & 雑多な関数・サブルーチン  & ＊ & ☆ & FC	\\
  $\bullet$ {\bf CLCKLIB:} & CPU時間の取り扱い	       &    & ☆ &	\\
  $\bullet$ {\bf FIOLIB: } & ファイルの入出力	       &    & ☆ &	\\
  $\bullet$ {\bf RANDLIB:} & 疑似乱数		       &    & ☆ & FC 	\\
  $\bullet$ {\bf HEXLIB: } & 16進定数の処理	       &    &    &	\\
  $\bullet$ {\bf REALLIB:} & 実数の変換 	       &    &    &	\\
\end{tabular}
\renewcommand{\arraystretch}{1.0}
\vspace{1em}

ここで, ＊, ☆, D, F, C の各印は, 次のような意味を持っています. 

\begin{description}
  \item[ ＊ :] MISC1 以外のライブラリの実行に必要なパッケージ
  \item[ ☆ :] 機種依存性のあるサブルーチンを含む
  \item[ D  :] 機種依存性のあるサブルーチンをダミールーチン
		としても, 致命的な支障はないもの
  \item[ F  :] 機種依存性のあるサブルーチンに対して,
		FORTRAN のプロトタイプ(機種依存性がないと思われるコード) 
               が用意されているもの
  \item[ C  :] 機種依存性のあるサブルーチンに対して, 
		C の関数が用意されているもの
\end{description}

%-----------------------------------------------------------------------
\section{ETC}

ETC は, DCL を使いこなす上で便利な道具たちを集めたものです. その中には
電脳倶楽部で作成したもの以外のものも入っています. 
\vspace{1em}

ETC は, 次のライブラリから構成されています. 
\begin{itemize}
   \item {\bf \LaTeX マクロライブラリ : } 
   \item {\bf PS周辺ライブラリ : }  
\end{itemize}

前者は, \LaTeX を用いたドキュメントの作成に便利なマクロ定義スタイル
ファイル集です. DCL のマニュアルもこのマクロを用いて書かれています. 後
者は, DCL の PostScript(PS)出力を加工するためのフィルタコマンド集です.
