Japanese English

Exevalator

Exevalator(エグゼバレータ、Expression-Evaluator の略)は、プログラムやアプリ内に組み込んで、式の値の計算に使うための、コンパクトで高速なインタープリタです。 複数言語対応で、Java®言語、C#、C++、Rust製のプログラムに組み込んで使用できます。

- Exevalator とは? -

式の値を計算するライブラリ

Exevalator は、アプリやソフトを開発する際に部品として用いる、「ライブラリ」というものの一種です。

具体的には、"1 + 2""x + f(y)" など、「文字列として表されている式の値を計算する」という機能を提供するライブラリです。

このあたりの詳しい説明は、以下のお知らせ記事をご参照ください:

多言語対応&著作権フリーの式計算ライブラリ「 Exevalator 」をリリース
2022/04/16 - Java/C#/C++/Rust製のソフトウェア開発で利用できる、著作権フリーの式計算ライブラリ「 Exevalator(エグゼバレータ)」を公開しました。その詳細を、用途や使い方も含めて掘り下げてお知らせします。

変数や関数も定義できる

式の中で使える変数や関数も、いくつでも自由な名前で定義できます。カッコなども自由に使えます。

((x + 1.2) * 3.4) / 5.6 + f( g(x + y) / (z - 1.23) )

なので、関数電卓のような、それなりに複雑な式を計算する処理もこなせます。

数億回演算/秒の処理速度

Exevalator は、毎回違う式を計算する場合でも、1秒あたり数万〜数十万式ほどの速さで計算できます。

さらに、変数値を変えながら、同じ式を反復計算するような場合には、1秒あたり数千万式ほどの高速計算が可能です。 より正確に、式が含む加減算などの演算単位で表すと、最大で数億回演算/秒(数百MFLOPS)程度の速度を発揮します。

多言語対応

Exevalator は、複数の言語で利用できます。現在は Java®、C++、C#、および Rust で利用可能です。

コンパクトで移植が比較的容易なので、他のメジャーな言語にも、今後対応するかもしれません。

導入はソースコード 1枚

Exevalator は、ソースコード 1枚に収まるように実装されています(C++版のみヘッダ込みで2枚)。

なので、開発アプリ/ソフトのソースコードフォルダ内に、上記の1枚を放り込むだけで、すぐに使えます。

著作権フリー、改造/流用も自由

Exevalator のライセンスは、実質的な著作権フリーである「CC0」と「Unlicense」から自由に選べます。 アプリやソフトを公開・販売する際に、「Exevalator を使った」等と明記する必要はありません。

また、ソースコードの改造/流用も自由に行えます。その際、以下の記事が参考になるかもしれません:

Exevalator の内部アーキテクチャ解説
2022/05/04 - オープンソースの式計算ライブラリ「 Exevalator(エグゼバレータ)」の内部構造を、全体像から各コンポーネントの役割まで、一つ一つ掘り下げながら解説します。

さあ、あなたも

Exevalator は、どなたでも無料でご利用いただけます。

  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • C#は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。
  • Rustは、Mozilla Foundation の米国及びその他の国における登録商標です。
  • その他、文中に使用されている商標は、その商標を保持する各社の各国における商標または登録商標です。

Japanese English
この階層の目次
新しいお知らせ

関数電卓 RINPn をアップデート、折りたたみ可能なキーパネルを搭載
2022/11/11 - 関数電卓 RINPn のアップデート版を公開しました。画面デザインを少し見直し、今回から、1クリックで折りたたみ/展開が可能なキーパネルを搭載しました。詳細をご紹介します。

リニアングラフ3Dをアップデート、軸反転がリセットされるバグの修正など
2022/11/03 - リニアングラフ3Dのアップデート版をリリースしました。軸反転がリセットされるバグや、設定ファイル読み込み時に等高線の区間数が反映されないバグの修正を行いました。

各ソフトウェアのアップデートのお知らせ
2022/10/12 - リニアングラフ3Dなどの各ソフトウェアのアップデート版を、一括でリリースいたしました。各ソフトの更新内容をお知らせします。

コードアーカイブ新着
角度の「度」とラジアンとを相互変換し、図示もするツール

45度などの「度」の値と、ラジアンの値とを相互に変換できるツールです。対応する角度の図示もできます。
2022/11/22
[公式ガイドサンプル] 立体モデルを回転させるアニメーション

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、アニメーションで回転させ続けます
2022/11/18
[公式ガイドサンプル] 立体モデルを回転させる

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、指定した角度だけ回転させます。
2022/11/17
[公式ガイドサンプル] 四則演算の計算順序や、カッコを使った順序指定

「VCSSLスタートアップガイド」内のサンプルコードです。四則演算が計算される順序や、カッコを使って順序を指定する方法を例示します。
2022/10/31
[公式ガイドサンプル] 割り算の結果や、余りなどを画面に表示する

「VCSSLスタートアップガイド」内のサンプルコードです。整数や小数(実数)における割り算結果や、整数の場合の余りを画面に表示します。
2022/10/30
新着・お知らせ配信用Twitter