2011-02-03 9 views
8

私はCやObjective-Cの中で高速な数学的パーサーをかなり見てきました。私が見たほとんどすべてのライブラリはC++で書かれていますが、実際にそれを得るのは面倒ではありません。コンパイル。誰も推薦をすることはできますか?高速CまたはObjective-C数学パーサーとは何ですか?

+3

[TinyExpr](https://github.com/codeplea/tinyexpr)をお試しください。これは、単一のCソースコードファイルとヘッダーにあります。 – 131

+0

ちょうど2番目にしたい** TinyExpr **。使い方が簡単です。 – rileyk

答えて

6

私は自分で使っていませんが、GCMathParserDDMathParserを試すことができます。

+3

+1 for DDMathParser!ホーア! (あなたが生のスピードを目指しているのであれば、GCMathParserを打つことはほとんど不可能です。) –

+0

@Dave:私はGrahamのパーサについて知っていましたが、どういうわけかあなたのことを忘れてしまいました。ブロックを使用した魅力的な構造。自動解放されたインスタンスが頻繁に生成されるため、NSNumberを使用すると少し遅くなるようです。計算には単純な浮動小数点型を使うことができるようですが、これははるかに高速かもしれません。 –

+1

@ブラッドええ、それを最適化するためにできることはたくさんあります。私の目標は拡張性と可読性でした。 :)また、計算にはNSDecimalを使用しています(浮動小数点型よりはるかに精度が高い)。 –

5

コンパイルに手間がかからず、ObjCはC++クラスと並行して作業できます。 objC++を検索すると、とても簡単です(基本的には* .mから* .mmまでのすべての名前を変更します)

3

私のaeライブラリ(Luaを使用)とlibmathevalを参照してください。

+1

um ...それは "Objective-C"と "iPhone"とタグ付けされています... –

+4

@Dave:それはまたCのタグが付いています – lhf

0

この問題が解決されたCode Projectがあります。これはC++のためであることに注意してください - 残念ながら、あなたはC/Objective-Cを探しています。ライブラリを構築するときに、シンプルなインターフェイスを作成してCに公開することができます。これを行う方法については、実際には簡潔なexplanation hereがあります。

関連する問題