sym_infer is noop for int input (#1795)

This commit is contained in:
chenyu
2023-09-06 09:17:20 -07:00
committed by GitHub
parent f67638b27a
commit 35072877ef

View File

@@ -309,7 +309,8 @@ def create_rednode(typ:Type[RedNode], nodes:List[Node]):
def sym_rename(s) -> str: return f"s{sym_rename.cache_info().currsize}"
def sym_render(a: Union[Node, int], ops=None, ctx=None) -> str: return str(a) if isinstance(a, int) else a.render(ops, ctx)
def sym_infer(a: Union[Node, int], var_vals: Dict[Variable, int]) -> int:
ret = (Variable.num(a) if isinstance(a, int) else a).substitute({k:Variable.num(v) for k, v in var_vals.items()})
if isinstance(a, int): return a
ret = a.substitute({k:Variable.num(v) for k, v in var_vals.items()})
assert isinstance(ret, NumNode)
return ret.b