こんにちは,古賀@東工大(MaTX開発元)です。
MaTXバージョンアップのお知らせです。
このメールはMaTXメーリングリスト参加者の皆さんと matx.mei.titech.ac.jp
から Anonymous FTP で MaTX を入手された方々に出しました。必要のない方
は削除して下さい。
今回の目玉は『リアルタイムMaTX』と『mgplot』です。
(1) リアルタイムMaTX(RTMaTX)とは,MaTXにリアルタイム処理機能を付加した
ソフトウェアです。RTMaTXを使えば,PC9801シリーズおよび IBM PC 互換機の
MS-DOS上で動作するリアルタイム処理プログラムを作成することができます。
(2) ご存知の方も多いと思いますが,汎用のプロットツールに gnuplot というも
のがあります。とても優れたソフトウェアですが,プロットを出力するウィン
ドウを1個しか空けられないという欠点があります。今回,この問題を解決す
るために gnuplot のインターフェースを MaTX で書きました。その名も,
mgplot (Multiple Gnuplot)です。プロットを同時に複数のウィンドウに出力
できます。
(3) MM-FILEを整理して,MaTX/inputs, MaTX/inputs/control, MaTX/inputs/graph
に分けました。また,MM-FILEの検索は MaTX/inputs の下にあるディレクトリ
を階層的に行なうようにしました。
=============================================================================
MaTX-4.202+4.237 から MaTX-4.215+4.252 への変更点
=============================================================================
【リアルタイムMaTXのための改良 (matx)】
o 16進数と8進数を入力できるようになった。
例 0xffff(16進) 010(8進)
o ビット毎の論理和,論理積,反転,排他的論理和の関数
bit_and(), bit_or(), bit_xor(), bit_comp()を追加した。
o ビット毎のシフト関数 bit_lshift()とbit_rshift()を追加した。
o 画面消去コマンド clear をsystem("cls")からエスケープ
シーケンスを使うように変更した。(MS-DOSの場合)
【リアルタイムMaTXのための改良 (matc)】
o 16進数と8進数を入力できるようになった。
例 0xffff(16進) 010(8進)
o ビット毎の論理和,論理積,反転,排他的論理和の関数
bit_and(), bit_or(), bit_xor(), bit_comp()を追加した。
o ビット毎のシフト関数 bit_lshift()とbit_rshift()を追加した。
o リアルタイムMaTXの場合,ループの終わりなどに
MATX_TMP_DESTROY();を出力しないようにした。
o 画面消去コマンド clear をsystem("cls")からエスケープ
シーケンスを使うように変更した。(MS-DOSの場合)
=============================================================================
【その他の改良 (matx)】
o mgplot (複数のグラフウィンドウをもつgnuplot)の実現。
o MM-FILEを再帰的にディレクトリを探すようになった。
o [A B](1,:) で行列[A B]の1行が,[A B](1,2)で
[A B]の(1,2)成分が取り出せるようになった。
o pauseコマンドで表示するメッセージを指定できるようになった。
o matxを終了するとき,MaTXOUT.mm, .matxout が呼ばれるよう
にした。いろいろな後始末ができるようになった。
o saveコマンドを関数の中で(変数を指定しないで)使うと,
大域変数に続いて局所変数も保存されるようにした。
(MAT_LAST, POLY_LAST, RAT_LAST, LIST_LAST などは存しない)
o A = A; のとき代入を行なわないようにした。
o エラーを検出したとき,定数の整数,実数,文字列が関係
していれば,その値も表示するようにした。
【改良 (matc)】
o mgplot (複数のグラフウィンドウをもつgnuplot)の実現。
o MM-FILEを再帰的にディレクトリを探すようになった。
o [A B](1,:) で行列[A B]の1行が,[A B](1,2)で
[A B]の(1,2)成分が取り出せるようになった。
o pauseコマンドで表示するメッセージを指定できるようになった。
o 大域変数を関数main()の中で初期化するために
"MaTXGVAL.mm"というMMファイルの中で関数MaTXGVAL()
を定義するようにした。ファイルMaTXGVAL.mmは
MaTXRC.mmと同様に特別なファイルとして処理される。
o 関数main()の最後に,mgplot_quit()を呼ぶようにした。
o [A], [[A]] のとき,直接 A を出力するようにした。
============================================================================
【バグ修正 (matx)】
o ユーザ定義関数を初めて呼び出すとき,行番号が増加しないというバグを修正。
o 変数'ans'に関するバグを修正。
o 宣言されていない関数が呼ばれたときの,エラー検出に関するバグを修正。
o 16進数と8進数の入力に関するバグを修正
【バグ修正 (matc)】
o A = A; のときcoreを吐く問題を解決した。
o 要素がゼロ個のリストに関するバグを修正。
o 16進数と8進数の入力に関するバグを修正。
=============================================================================
--
古賀 雅伸
koga@mei.titech.ac.jp