Module Pulselib.PulseArithmetic
module AbductiveDomain = PulseAbductiveDomain- val and_nonnegative : PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t
- val and_positive : PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t
- val and_eq_int : PulseBasicInterface.AbstractValue.t -> IR.IntLit.t -> AbductiveDomain.t -> AbductiveDomain.t
- type operand- = PulseBasicInterface.PathCondition.operand- =- |- LiteralOperand of IR.IntLit.t- |- AbstractValueOperand of PulseBasicInterface.AbstractValue.t
- val eval_binop : PulseBasicInterface.AbstractValue.t -> IR.Binop.t -> operand -> operand -> AbductiveDomain.t -> AbductiveDomain.t
- val eval_unop : PulseBasicInterface.AbstractValue.t -> IR.Unop.t -> PulseBasicInterface.AbstractValue.t -> AbductiveDomain.t -> AbductiveDomain.t
- val prune_binop : negated:bool -> IR.Binop.t -> operand -> operand -> AbductiveDomain.t -> AbductiveDomain.t
- val is_known_zero : AbductiveDomain.t -> PulseBasicInterface.AbstractValue.t -> bool
- val is_unsat_cheap : AbductiveDomain.t -> bool
- val is_unsat_expensive : AbductiveDomain.t -> AbductiveDomain.t * bool
- val has_no_assumptions : AbductiveDomain.t -> bool