toge's diary

コンピュータ関連の趣味をつらつらと。

ExprEval

ExprEvalの導入 -C言語から定数・変数の操作 高速版-

今まで定数・変数の追加・操作をやってきましたが、実はもっと高速に操作する方法があったりします。それが本家ではFast Variable Accessという機能です。これはexprValListAdd()を使わずに値の更新を、exprValListGet()を使わずに値の参照を行って、処理を…

ExprEvalの導入 -定数・変数の値を取得する-

書くための検証コード書いたり、ベンチマークとったりして、貴重な平日の時間をどんどん無駄にしてるな。まあ自分が使う情報だしいいか。前回は定数・変数の値を変更しましたが、次は定数・変数の値を取得します。もちろん、式を評価してもいいのですが、そ…

ExprEvalの導入 -定数・変数を設定・変更する-

ネタ切れがちな平日のために細切れにやっていきます。今回は定数・変数に値を設定する方法です。もちろん、変数だけの式を評価してもいいんですが、違う方法がありますんで。やり方はとても簡単。exprValListAdd()関数を呼び出すだけです。 // 変数リストを…

ExprEvalの導入 -標準関数・定数を設定する-

前回に続いてcos, logみたいな標準的な関数とかM_PIみたいなよく使う定数が使えるようにしましょう。といってもとっても簡単で、それぞれ一つずつ関数を呼び出すだけです。実際に前回作成した初期化コードに、必要な関数呼び出しを追加してみます。 // 関数…

ExprEvalの導入 -初期化から計算まで-

さてテストプログラムで遊んだところで、いよいよ実際にコードをいじり始めます。まずはExprEvalの初期化方法を話しましょう。ExprEvalは式オブジェクトを作成し、式オブジェクトに必要な情報を入れて、必要な時に評価する形になります。式オブジェクトの作…

ExprEvalの導入 -まずは触ってみる-

http://expreval.sourceforge.net/以下ExprEvalの覚え書き。以前書いたようにちょっと修正しないといけない部分があるので、修正したものを置いておきます。http://toge.skr.jp/program/expreval1_6-toge.zipとりあえずコンパイルしましょう。といっもMakefi…