You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, ExprVisitor handles NumericExpr and LogicalExpr hierarchies separately. This was done because the result types of expression conversion for numeric and logical expressions are normally different (this is true for gecode and ilogcp). Need to add support for Expr, including string expressions. Among other things this will be useful for completing structural comparison of expressions.
Possible ways to implement:
Add another Visit(Expr) overload and dispatch on all expression kinds. Drawback: duplicates numeric and logical expression dispatch.
Replace Visit(NumericExpr) and Visit(LogicalExpr) with Visit(Expr). Since these methods use jump tables, it shouldn't affect performance, but need to handle different return types for logical and numeric expressions somehow.
The text was updated successfully, but these errors were encountered:
Implemented the second option (one dispatch for all expression types) in fe42f07. Now it's possible to handle arbitrary target expression hierarchies. Need to implement string expressions and update solver drivers.
Currently,
ExprVisitor
handlesNumericExpr
andLogicalExpr
hierarchies separately. This was done because the result types of expression conversion for numeric and logical expressions are normally different (this is true for gecode and ilogcp). Need to add support forExpr
, including string expressions. Among other things this will be useful for completing structural comparison of expressions.Possible ways to implement:
Visit(Expr)
overload and dispatch on all expression kinds. Drawback: duplicates numeric and logical expression dispatch.Visit(NumericExpr)
andVisit(LogicalExpr)
withVisit(Expr)
. Since these methods use jump tables, it shouldn't affect performance, but need to handle different return types for logical and numeric expressions somehow.The text was updated successfully, but these errors were encountered: