ISAQuery 類別
ISA 列舉樹中所有節點的抽象基底類別。
列舉節點定義了從架構出發並經 ISA 轉換(如錯誤更正方案)修改的 ISA 搜尋空間結構。 它們可以用像(sum)和+(product)這類*運算子組合,建立複雜的列舉策略。
建構函式
ISAQuery()
方法
| bind |
建立一個以該節點為元件的 BindingNode。 範例: |
| enumerate |
產生由此枚舉節點所代表的所有 ISA 實例。 |
| populate |
用來自此節點的指令填充來源圖。 與 |
bind
建立一個以該節點為元件的 BindingNode。
範例:
bind(name: str, node: ISAQuery) -> _BindingNode
參數
| 名稱 | Description |
|---|---|
|
name
必要
|
綁定元件的名稱。 |
|
node
必要
|
子列舉節點,可能包含 ISARefNodes。 |
傳回
| 類型 | Description |
|---|---|
|
一個以 self 為元件的 BindingNode。 |
enumerate
產生由此枚舉節點所代表的所有 ISA 實例。
abstract enumerate(ctx: ISAContext) -> Generator[ISA, None, None]
參數
| 名稱 | Description |
|---|---|
|
ctx
必要
|
包含共享狀態的列舉上下文,例如存取底層架構。 |
populate
用來自此節點的指令填充來源圖。
與 enumerate不同,這不會產生 ISA 物件。 每個轉換都會查詢圖中符合需求的帕累托最優指令,並直接將產生的指令加入圖中。
populate(ctx: ISAContext) -> int
參數
| 名稱 | Description |
|---|---|
|
ctx
必要
|
該列舉上下文將被填入來源圖。 |
傳回
| 類型 | Description |
|---|---|
|
此子樹所貢獻指令的起始節點索引。 消費者用來讓圖域查詢只看到來源節點。 |