Cafe (Complex Argebraic Formula Evaluator)

Cafe (Version 2.3):

複素数を手軽に扱える(RPN)関数電卓です。 電気・電子工学の研究開発に携わる研究者、技術者のためのものです。

RPN(Reverse Polish Notation: 逆ポーランド表記) Calculator と、 複素数(Complex Number)を含む通常の数式を取り扱う script 言語としての性格を持っています。

スタック(stack)上で演算を行う形態を採っており、 逆ポーランド表記法(RPN)による操作ができます。 スタック修正が対話的に簡単にできます。 また、Cafe script としての利用を狙って、数式表現の他、 手続き的な記述も可能としています。 さらに任意次元の配列が使用できます。

関数定義の他、priority を含む binary operator の定義ができます。 並列回路のインピーダンス表現のための binary operator "//" が用意されています。 また、掛け算記号 "*" を省略できます。 FFT も入っています。

Scalar 値を取り扱う unary および binary operator に関しては、 配列の各要素への自動適用が可能です (関数定義で array expandable が宣言されている場合)。(Ver.2.2 より)
配列に作用する unary reduction operator (%op と表記、op は一般的には binary operator) により、vector 同士の内積のような表記が簡単にできます。(Ver.2.3 より)
例えば: %+ ($vec1 * $vec2)

強力なヘルプ機能を付けました。 ユーザ定義の関数はその定義を表示させることができます。 また、 関数や変数の定義に付属したコメントを表示させることができます。 さらに、それらのコメントを検索できます。 エラー発生時にはバックトラックが行われ、 その原因と場所が表示されます。

Linux 等の Unix 環境を想定していますが、perl-5 が使えるなら その他の OS 下での動作の可能性があります (INSTALL 参照)。
GUI は入っていません。

ドキュメントはこちら
ダウンロードはこちら アーカイブ(FTP)
Cafe (Version 1):
Cafe の本格版の始まり。
Cafe (Version 0):
Cafe の数式を perl の regular expression で perl に書き換え、 単純に評価してしまう、超手抜きの手法。

戻る (BACK)
YAMADA Kunihiro
Last modified: Thu Aug 25 18:31:13 JST 2005