# Expressions In case you create expressions using Python code you probably want to use the convenience function {func}`~momba.moml.expr` instead of working with the classes provided here directly. Note that this function is still provisional, however, it provides a much more concise way of defining expressions. In any case, instead of constructing objects directly it is recommended to use the constructor functions documented bellow. ```{eval-rst} .. autoclass:: momba.model.Expression :members: :member-order: bysource .. autofunction:: momba.model.ensure_expr .. autoclass:: momba.model.expressions.ConversionError ``` ## Constructor Functions ```{eval-rst} .. autofunction:: momba.model.expressions.ite .. autofunction:: momba.model.expressions.logic_not .. autofunction:: momba.model.expressions.logic_any .. autofunction:: momba.model.expressions.logic_or .. autofunction:: momba.model.expressions.logic_all .. autofunction:: momba.model.expressions.logic_and .. autofunction:: momba.model.expressions.logic_xor .. autofunction:: momba.model.expressions.logic_implies .. autofunction:: momba.model.expressions.logic_equiv .. autofunction:: momba.model.expressions.equals .. autofunction:: momba.model.expressions.not_equals .. autofunction:: momba.model.expressions.less .. autofunction:: momba.model.expressions.less_or_equal .. autofunction:: momba.model.expressions.greater .. autofunction:: momba.model.expressions.greater_or_equal .. autofunction:: momba.model.expressions.add .. autofunction:: momba.model.expressions.sub .. autofunction:: momba.model.expressions.mul .. autofunction:: momba.model.expressions.mod .. autofunction:: momba.model.expressions.real_div .. autofunction:: momba.model.expressions.log .. autofunction:: momba.model.expressions.power .. autofunction:: momba.model.expressions.minimum .. autofunction:: momba.model.expressions.maximum .. autofunction:: momba.model.expressions.floor_div .. autofunction:: momba.model.expressions.floor .. autofunction:: momba.model.expressions.ceil .. autofunction:: momba.model.expressions.absolute .. autofunction:: momba.model.expressions.sgn .. autofunction:: momba.model.expressions.trunc .. autofunction:: momba.model.expressions.name ``` ## Class Reference ```{eval-rst} .. autoclass:: momba.model.expressions.BooleanConstant :members: :member-order: bysource .. autoattribute:: momba.model.expressions.TRUE .. autoattribute:: momba.model.expressions.FALSE .. autoclass:: momba.model.expressions.NumericConstant :members: :member-order: bysource .. autoclass:: momba.model.expressions.IntegerConstant :members: :member-order: bysource .. autoclass:: momba.model.expressions.NamedReal :members: :member-order: bysource .. autoclass:: momba.model.expressions.RealConstant :members: :member-order: bysource .. autoclass:: momba.model.expressions.Name :members: :member-order: bysource .. autoclass:: momba.model.expressions.BinaryExpression :members: :member-order: bysource .. autoclass:: momba.model.expressions.Boolean :members: :member-order: bysource .. autoclass:: momba.model.expressions.ArithmeticBinary :members: :member-order: bysource .. autoclass:: momba.model.expressions.Equality :members: :member-order: bysource .. autoclass:: momba.model.expressions.Comparison :members: :member-order: bysource .. autoclass:: momba.model.expressions.Conditional :members: :member-order: bysource .. autoclass:: momba.model.expressions.UnaryExpression :members: :member-order: bysource .. autoclass:: momba.model.expressions.ArithmeticUnary :members: :member-order: bysource .. autoclass:: momba.model.expressions.Not :members: :member-order: bysource .. autoclass:: momba.model.expressions.Sample :members: :member-order: bysource .. autoclass:: momba.model.expressions.Selection :members: :member-order: bysource .. autoclass:: momba.model.expressions.Derivative :members: :member-order: bysource .. autoclass:: momba.model.expressions.ArrayAccess :members: :member-order: bysource .. autoclass:: momba.model.expressions.ArrayValue :members: :member-order: bysource .. autoclass:: momba.model.expressions.ArrayConstructor :members: :member-order: bysource .. autoclass:: momba.model.expressions.Trigonometric :members: :member-order: bysource ``` ## Operators ```{eval-rst} .. autoclass:: momba.model.operators.Operator :members: :member-order: bysource .. autoclass:: momba.model.operators.BinaryOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.BooleanOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.ArithmeticBinaryOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.EqualityOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.ComparisonOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.UnaryOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.NotOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.ArithmeticUnaryOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.MinMax :members: :member-order: bysource .. autoclass:: momba.model.operators.Quantifier :members: :member-order: bysource .. autoclass:: momba.model.operators.BinaryPathOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.UnaryPathOperator :members: :member-order: bysource .. autoclass:: momba.model.operators.AggregationFunction :members: :member-order: bysource .. autoclass:: momba.model.operators.TrigonometricFunction :members: :member-order: bysource ``` ## Distributions ```{eval-rst} .. autoclass:: momba.model.distributions.DistributionType :members: :member-order: bysource ```