作品情報

ID#746

mod_fx

一般プログラム
作者: motchy


(ダウンロードの注意)

更新日:2014-09-22
バージョン:3.1 (完成度99%)

ユーザーの評価 (5)

プログラム技術3
完成度1
アイデア1

文字列数式の値を求めるモジュールです。
今年で3度目のバージョンアップになります。
前年度版(Ver 2.1.2)に比べて計算の所要時間が短くなっています。(当方では約1.2倍)

文字列で表現された数式を計算して結果をdouble型数値で返します。
例えば、「sqrt(pow(3,2) + pow(4,2))」という文字列からdouble型で「5」を得られます。


加減乗除はもちろん、34個の数学関数を実装しており、ネイピア数・円周率が標準で定義されています。
さらに、変数を100個まで定義でき、その名前は一定の制約の範囲内で自由です(※詳細はread meを参照)。


本モジュールの用途としては関数電卓や自作ゲームのシナリオデータの数式処理部分等が考えられます。


【履歴】
< 2014/9/22 >
 ■ ファイル配置を見直し、重複するファイルを除去
 ■ Readme を一部修正
 ■ 「著作権・免責事項」の表記を改善
 ■ 変数定義でエラーになると以後定義できなくなる問題を修正
 ■ 逆コンパイルで * が + に変わってしまう問題を修正

タグ:contest2014
動作環境:Hot Soup Processor 3.32 以降 (HSP3dish含む)
プラグイン/モジュール:
ライセンス:自由に配布可能
作成開始:2014年2月26日
募集項目:
説明書: hspcontest746.txt

作品へのコメント(コンテスト以前のログ)

最新のコメントはこちら

No.6 [FunnyMaker]さんが作品にコメントしました - 2014/10/19 14:25:20

    GENKIさん、コメントと評価ありがとうございます。

    >自作関数の追加とか
    数式中でユーザー定義関数を使うことは結構ありますから、関数を追加定義できるとかなり便利ですね。イメージとしては #defcfuncで定義された関数を登録しておいて、式の計算中にその関数にぶつかったらコールバックするという感じでしょうか。
    HSPで関数ポインタが使えればできそうなんですが、仮にちょっとテクニカルなことをしてなんとか実現しても、代償としてdishで使えなくなってしまいそうなんですよね...。
    とてもおもしろい機能だと思いますが、残念ですがいまのところ実装は考えていません。

No.4 [GENKI]さんが作品を評価しました( 技術 完成度 ) - 2014/10/19 01:49:42

    if文まで実装されたらHSPで表計算ソフト作れそうですね。自作関数の追加とか出来ないとさすがに無理…いやいや、それ以前にそこまでやる人いないか。

    それはともかく、こういう基礎を支えるようなモジュールって地味でなかなか目立ちませんが、大事なものなのでこれからも開発と公開を続けていって欲しいです。もっと評価されるべき。

No.3 [FunnyMaker]さんが作品にコメントしました - 2014/09/14 22:23:04

    返信が遅くなってしまいました。

    mirage17さん、衣日和さん、コメントありがとうございます。

    利用条件についてですが、組み込みの場合の条件を書くのを忘れていました。実際は配布と同じゆる~い感じですので特に心配は要らないです。近いうちに条件をわかりやすく書き直すつもりです。

    あと、ところどころバグがあったようで...。これもいつか修正しようと思います。


    >後はこれに大きさ比較や整数のビット演算みたいなのが加われば...
    実は最近うっすら考えていました。条件式の機能ですね。
    if ○○ の ○○ 部分を処理して true, false を返すという...。
    次期バージョンの目標になっています。

No.2 [衣日和]さんが作品を評価しました( 技術 ) - 2014/09/13 01:55:00

    このようなモジュールは、シナリオ分離型のゲームやユーザーに直接数式入力を求めるようなソフトを作るときに大変重宝します。
    関数だけでなく変数にも対応しているしDish版で動作させることもできるので小回りが利きそうだし、未初期化変数が出ないところも良いです。
    関数はHSPに備わっているものは網羅していて、それも丸投げではなくエラーチェックなど細かくしているようで突然のアプリ落ちなどなく安心して使えます。さらに便利な関数まで!

    パッケージも利用者のことを考えた構造になっていますが解り辛いところもありました。
    開発用ってモジュールの利用者は開発者なのでは?と(笑)そして同じ名前や似た内容のファイルが複数あり一見で迷います。ソフトに組み入れた場合の利用条件もふわっとしていますが再配布と同じ扱いでいいのかな?
    この辺の記載もまとめたRead meがトップにあればよさそうです。それから変数を使ったサンプルが有ると良さが伝わりやすいかと。

    後はこれに大きさ比較や整数のビット演算みたいなのが加われば、ゲームの分岐判定にまるっと使えてやりたい放題ですね。ところで変数定義に失敗すると以後定義できない!?や数式コードの逆コンパイル命令にカケ算式を入れると……。
    ともかく、毎回確実に進化しているこのモジュールは作品制作にかなり便利です。

No.1 [mirage17]さんが作品を評価しました( 技術 アイデア ) - 2014/08/26 15:14:02

     このソフトはプログラムを作る上で、数学を使う
    人にとっては、大変便利なモジュールだと思います。
    内容も、一般ユーザー用パッケージと、開発用
    パッケージに分かれており、windows用や、
    android用など、幅広い環境で使えるように配慮
    されていて、とても好感を持ちました。
     HSPで、数学を使ったソフトを作る際に、この
    モジュールを使えば、良い作品ができるのではないか
    と思います。数学を追求するなら、ぜひ使ってみて
    ほしいモジュールでした。