4

cython を介して Python コードを高速化する必要があります。さらに高速化するために、Python 変数で C 型を自動的に宣言したいと考えています。

これを行うにはa = 1.0、整数または浮動小数点の python オブジェクトを作成しようとする のような割り当てを見つけ、コードをcdef double a = 1.0. (「a」は float としてのみ使用されることがわかっています。したがって、Python コードにはいくつかの制限があります。)

割り当てを見つける最初のタスクは、python ast モジュールを使用した簡単なタスクです。しかし、型定義を挿入する方法がわかりません。抽象構文ツリー (ast) を変更することはできますが、cython コンパイラーは変更された ast を読み取ることができないと想定しています。

ここに私の質問があります: 変更された ast から cython コードへの変換を可能にするコード ジェネレーターが必要ですか、それとも (おそらく cython ツールの助けを借りて) 私のタスクのためのより自然な方法がありますか?

4

2 に答える 2