差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
programming_algorithm:python_tips [2020/07/03] – [関数を分ける] ikatakosprogramming_algorithm:python_tips [2020/07/03] – [独自クラス] ikatakos
行 361: 行 361:
  
   * それぞれを個別にコンパイル   * それぞれを個別にコンパイル
-  * 1つの大枠の関数の中で個々の関数定義も書いて、大枠の関数のみコンパイル+  * 1つの大枠の関数の中で個々の関数定義も書いて、大枠の関数のみコンパイル(関数内関数)
  
 前者は関数毎にコンパイル指定(JITなら''@njit''デコレータの付与、AOTなら''cc.export''への登録)の必要がある一方、 前者は関数毎にコンパイル指定(JITなら''@njit''デコレータの付与、AOTなら''cc.export''への登録)の必要がある一方、
行 368: 行 368:
 ただし、Numbaの内部関数が再帰を含む場合、それはコンパイルが通らない。 ただし、Numbaの内部関数が再帰を含む場合、それはコンパイルが通らない。
  
-  numba.core.errors.NotDefinedError: Variable '(再帰関数名)' is not defined.+  numba.core.errors.NotDefinedError: Variable '(内部関数名)' is not defined.
  
 通常は1つの大枠関数に入れた方が手間が少ないのでそうし、再帰関数のみ個別にコンパイルする。 通常は1つの大枠関数に入れた方が手間が少ないのでそうし、再帰関数のみ個別にコンパイルする。
行 379: 行 379:
 AOTでのコンパイル方法は探したけど見つかってない。 AOTでのコンパイル方法は探したけど見つかってない。
  
-クラスは一連の処理をまとめ理解しやすくしてくれる点はあるが、競プロのような短いコードでは必須でもないので、今のところはクラスを使わない書き方で対処する方針で。+クラスは、1つオブジェクトに関係する処理をまとめることで理解しやすくしてくれる点はあるが、競プロのような短いコードでは必須でもないので、今のところはクラスを使わない書き方で対処する方針で。
  
   * [[https://numba.pydata.org/numba-doc/latest/user/jitclass.html|jitclass]]   * [[https://numba.pydata.org/numba-doc/latest/user/jitclass.html|jitclass]]
programming_algorithm/python_tips.txt · 最終更新: 2020/09/27 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0