yobx.xshape.simplify_expressions¶
- class yobx.xshape.simplify_expressions.CommonTransformer(expr: str | None = None)[source][source]¶
Base class for custom AST transformers.
- Parameters:
expr – used only for error messages.
- class yobx.xshape.simplify_expressions.CommonVisitor(expr: str | None = None)[source][source]¶
Base class for custom AST visitors.
- Parameters:
expr – used only for error messages.
- class yobx.xshape.simplify_expressions.ExactMulDivConstantFolderTransformer(expr: str | None = None)[source][source]¶
Folds integer constants in multiplicative chains with true division, but only when exact (no remainder). Example:
1024*a//2->512*a
- class yobx.xshape.simplify_expressions.ExpressionSimplifierAddVisitor(expr: str | None = None)[source][source]¶
Simplifies expression such as
2*x-x.
- class yobx.xshape.simplify_expressions.MaxToXorTransformer(expr: str | None = None)[source][source]¶
Replaces
Max(a,b)bya^b.
- class yobx.xshape.simplify_expressions.MulDivCancellerTransformer(expr: str | None = None)[source][source]¶
Simplifies
2*x//2intox.
- class yobx.xshape.simplify_expressions.ReorderCommutativeOpsTransformer(expr: str | None = None)[source][source]¶
Sorts terms in additions or multiplications
b+a->a+b.
- class yobx.xshape.simplify_expressions.SimpleSimpliflyTransformer(expr: str | None = None)[source][source]¶
Simplifies expressions such as
batch^batch,x+0,x*1.
- class yobx.xshape.simplify_expressions.SimplifyParensTransformer(expr: str | None = None)[source][source]¶
To simplify parenthesis.