Skip to main content Module ast Copy item path Source abstract_comprehension ac_operators assertions Debug-only structural assertions for AST/model integrity. categories comprehension declaration eval matrix Utility functions for working with matrices. pretty Functions for pretty printing Conjure models. records serde Serde serialization/ deserialization helpers. CnfClause DecisionVariable Represents a decision variable within a computational model. DeclarationPtr A shared pointer to a Declaration . ExprInfo A struct for the information about expressions Field A named field of a record or variant.
Used in [AbstractLiteral::Record] / [AbstractLiteral::Variant] and
in corresponding domains FuncAttr MSetAttr Metadata Model An Essence model. Moo A clone-on-write, reference counted pointer to an AST type. PartitionAttr Reference A reference to a declaration (variable, parameter, etc.) RelAttr SequenceAttr SerdeModel A model that is de/serializable using serde. SetAttr SymbolTable The global symbol table, mapping names to their definitions. SymbolTablePtr AbstractLiteral Atom An Atom is an indivisible expression, such as a literal or a reference. BinaryAttr DeclarationKind A specific kind of declaration. Domain DomainOpError An error thrown by an operation on domains. Expression Represents different types of expressions used to define rules and constraints in the model. GroundDomain IntVal A variable or expression appearing inside an int range of an unresolved domain;
E.g int(1..x), int(2, 4..(2*y)), set (minSize x) of int(1..5), etc JectivityAttr Literal A literal value, equivalent to constants in Conjure. Name A reference to an object stored in the [SymbolTable]. PartialityAttr Range ReturnType SATIntEncoding UnresolvedDomain HasDomain Types that have a Domain . Typeable Guaranteed to always typecheck discriminant_from_value eval_constant Simplify an expression to a constant if possible
Returns:
None if the expression cannot be simplified to a constant (e.g. if it contains a variable)
Some(Const) if the expression can be simplified to a constant print_hash_stats run_partial_evaluator DomainPtr