私はCやObjective-Cの中で高速な数学的パーサーをかなり見てきました。私が見たほとんどすべてのライブラリはC++で書かれていますが、実際にそれを得るのは面倒ではありません。コンパイル。誰も推薦をすることはできますか?高速CまたはObjective-C数学パーサーとは何ですか?
答えて
私は自分で使っていませんが、GCMathParserとDDMathParserを試すことができます。
+1 for DDMathParser!ホーア! (あなたが生のスピードを目指しているのであれば、GCMathParserを打つことはほとんど不可能です。) –
@Dave:私はGrahamのパーサについて知っていましたが、どういうわけかあなたのことを忘れてしまいました。ブロックを使用した魅力的な構造。自動解放されたインスタンスが頻繁に生成されるため、NSNumberを使用すると少し遅くなるようです。計算には単純な浮動小数点型を使うことができるようですが、これははるかに高速かもしれません。 –
@ブラッドええ、それを最適化するためにできることはたくさんあります。私の目標は拡張性と可読性でした。 :)また、計算にはNSDecimalを使用しています(浮動小数点型よりはるかに精度が高い)。 –
コンパイルに手間がかからず、ObjCはC++クラスと並行して作業できます。 objC++を検索すると、とても簡単です(基本的には* .mから* .mmまでのすべての名前を変更します)
私のaeライブラリ(Luaを使用)とlibmathevalを参照してください。
um ...それは "Objective-C"と "iPhone"とタグ付けされています... –
@Dave:それはまたCのタグが付いています – lhf
この問題が解決されたCode Projectがあります。これはC++のためであることに注意してください - 残念ながら、あなたはC/Objective-Cを探しています。ライブラリを構築するときに、シンプルなインターフェイスを作成してCに公開することができます。これを行う方法については、実際には簡潔なexplanation hereがあります。
- 1. PHP:JSONまたはXMLパーサーが高速ですか?
- 2. ObjectiveCのAMF0パーサー
- 3. 最高のXMLパーサーは何ですか
- 4. PHP Domドキュメントのhtmlは高速ですか、preg_match_all関数が高速ですか?
- 5. 乱数生成のための高速モジュロ置換は何ですか?
- 6. C#の方が高速です - System.Convert.ToString(objThatIsString)または(string)objThatIsString?
- 7. NDBとDB(高速レプリケーションデータストア上)の速度比較は何ですか?
- 8. パーサーとコンパイラを書くのに最高のプログラミング言語は何ですか?
- 9. 高速かつエレガントな方法は、C#
- 10. PHP:最速のSOAP、file_get_contentsまたはCurlとは何ですか?
- 11. Mac OS Xで高速に数学的に集中的なC++アプリケーションをプロファイリングする最も簡単で最善の方法は何ですか?
- 12. C#高速ピクセルレンダリング
- 13. CまたはObjective Cでの数学の質問
- 14. 最も高速で純粋なJavascript、Graphビジュアライゼーションツールキットは何ですか?
- 15. Cこのブランチレスハックは実際には高速ですか?
- 16. 機械学習で学習曲線とは何ですか?
- 17. JavaまたはC#で高速MD5アルゴリズムを作成するには
- 18. 数学(E | PI)とStrictMathの違いは何ですか?
- 19. インラインアセンブリでより高速に実装される単純なC関数の例は何ですか?
- 20. どちらが高速で、key_cacheまたはOSキャッシュですか?
- 21. .NETの高速ベクトル演算 - オプションは何ですか?
- 22. ファイルを読み取る高速機能は何ですか?
- 23. Visual Studioで高速に入力するキーボードショートカットとは何ですか?
- 24. C:構造体または配列の方が速いのは何ですか?
- 25. JavaがC++よりも高速な場合(またはJITが高速でプリコンパイルされている場合)
- 26. Html Agility Packはまだ最高の.NET HTMLパーサーですか?
- 27. Cで高速プロデューサ/スローコンシューマ
- 28. C++の高速メディアフィルタ
- 29. C#XNA高速ピクセルロード
- 30. Android SQLite:どのクエリ(「クエリ」または「rawQuery」)が高速ですか?
[TinyExpr](https://github.com/codeplea/tinyexpr)をお試しください。これは、単一のCソースコードファイルとヘッダーにあります。 – 131
ちょうど2番目にしたい** TinyExpr **。使い方が簡単です。 – rileyk