neige68 / shiki-no-keisan-dll

式の計算(計算式評価)DLL, x86/x64対応, C#, VB.NET サンプル付き
Boost Software License 1.0
0 stars 0 forks source link

shiki-no-keisan-dll 式の計算(計算式評価)DLL

Windows x86, x64 用の 式の計算(計算式評価)DLL です。

四則演算・冪乗・括弧・組込関数(27種)を含む計算式の文字列を渡して、計算結果を double(倍精度浮動小数点)値で受け取れます。

Ver.1.01 から変数が使用できるようになりました。

自由に使える x64 (64ビット)用の DLL が無いようなので Boost Spirit X3 を利用して作成しました。

C++, C, C#, VB.NET のサンプルを添付しています。

C# と VB.NET のサンプルでは、プラットホームに AnyCPU を指定してコンパイルし、 実行時に x86/x64 を判定して呼び出す DLL を切り分けるようにしています。

その他詳しくは https://neige68.github.io/shiki-no-keisan-dll/ をご覧ください。

C#サンプルの出力

2*2+2/2 = 5
1/3 = 0.333333333333333
1/3-0.3333333333333 = 3.33066907387547E-14
1/0 = ∞
(-1)/0 = -∞
0/0 = NaN
ERROR: 0/0+ : 構文解析エラー: +
Error: 0/0+Hoge : 変数 Hoge は定義されていません.
2**3**4 = 2.41785163922926E+24
2**(3**4) = 2.41785163922926E+24
(2**3)**4 = 4096
2^(1/2) = 1.4142135623731
-2^(1/2) = -1.4142135623731
-2^-(1/2) = -0.707106781186548
(-2)^-(1/2) = NaN
(2^(1/12))^7 = 1.49830707687668
gamma(0.5)**2 = 3.14159265358979
exp(-1/0) = 0
round(exp(gammaln(0.5)*2),2) = 3.14
往路=120;復路=80;2/(1/往路+1/復路) = 96

動作環境

Windows 10 以降 (x86, x64) 日本語版

ライセンス

ソースコードは Boost Software License, Version 1.0 に従って公開しています。

バイナリの配布は自由です。

バイナリ リリース

C++, C, C#, VB.NET のサンプル コード、ビルド済みの DLL、インポート ライブラリを含むバイナリ リリースが Releases にあります。 ソースからビルドしたい場合以外はこちらを使用してください。

ビルド

CMake 3.28, Visual Studio 2019 (VC14.2), Boost 1.84 を使用しています。用意してください。

Visual Studio 2019 の vcvarsall.bat のあるディレクトリを環境変数 VC142 に設定しておいてください。

例:

set VC142=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build

各ディレクトリの build.bat を実行してください。

ファイル

連絡先