2011-03-21 6 views
7

Cythonによって生成されたコードは、生成されたPythonコードと同じですか?Cythonの正確さ

Cythonの静的型宣言やその他のCython機能(もしあれば)の使用に対処するのに役立つかもしれませんが、私はCythonファイルを作成する際にPythonモジュールの名前を* .pyxに変更するだけです。

私はCythonでカバーされているPythonのサブセットについてのみ気にします。

答えて

10

通常、はいです。もちろん、bugsがあります(サポートされているPythonサブセットを展開することは多くありますが、実際に生成されたCコードが間違っているバグは比較的まれです)。そして、その短いリストの1つの項目だけがPythonのセマンティクス)。

静的型を純粋なPythonモードで追加すると、Cythonとしてコンパイルされているのか、Pythonコードとして実行されているのかに違いがあります。符号なし整数が頭に浮かぶ(例:上記の一つのリンクで述べたようnは符号なしであり、range(-n, n)が故に空の場合、-nはラップアラウンドされます)、ならびに整数オーバーフロー(Pythonはabritary(long Sにint S(C long単数または複数)を促進します-precision integers))。

+0

あなたの答えをありがとう。それは専門家から聞くことが最も安心です。あなたはCythonプロジェクトで作業しますか?ところで、私はCythonプロジェクトを楽しんでいます。それは私が見つけた他のツールがないという機能を私に提供します。 – Brian

+1

@Brian:いいえ、私はCythonに関わるほど素晴らしいとは限りません;)私はドキュメントのユーザーと学生です。デベロッパーに聞きたいのであれば、少なくとも一部は[cython-users'メーリングリスト](http://groups.google.com/group/cython-users)に参加してください。 – delnan

+0

私はCython開発者です。Pythonの回帰は重大なバグと見なされますが、リンクされた警告(特に明示的にC型の整数を使用する)は留意すべきです。 – robertwb