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
この階層の目次
新しいお知らせ

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024/02/05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。

Vnano の Ver.1.1 で実装した反復計算高速化の内側
2024/01/17 - 前回のお知らせ記事の続編です。スクリプトエンジン Vnano の Ver.1.1 において実施した高速化を、エンジン内部の実装面から掘り下げて解説します。

スクリプトエンジン Vnano の Ver.1.1 を公開、同じ内容の反復実行が劇的に高速化
2023/12/22 - スクリプトエンジン Vnano の最新版を公開しました。同じ計算式やスクリプトを反復実行する速さが、大幅に向上しました。次期版リニアングラフ3D内での活用例を交えつつ、詳しく解説します。

コードアーカイブ新着
[公式ガイドサンプル] 各種の図形や画像を描画する

「VCSSL 2DCG開発ガイド」内のサンプルコードです。図形や画像などを描画します。
2022/12/16
角度の「度」とラジアンとを相互変換し、図示もするツール

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

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

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

「VCSSLスタートアップガイド」内のサンプルコードです。四則演算が計算される順序や、カッコを使って順序を指定する方法を例示します。
2022/10/31