Class NumericInt.Divides

    • Field Detail

      • dkconfig_enabled

        public static boolean dkconfig_enabled
        Boolean. True iff divides invariants should be considered.
    • Constructor Detail

      • Divides

        protected Divides​(boolean swap)
    • Method Detail

      • get_proto

        public static NumericInt get_proto​(boolean swap)
        Returns the prototype invariant.
      • enabled

        public boolean enabled()
        Returns whether or not this invariant is enabled.
        Specified by:
        enabled in class Invariant
      • get_format_str

        public String get_format_str​(@GuardSatisfied NumericInt.Divides this,
                                     OutputFormat format)
        Description copied from class: NumericInt
        Return a format string for the specified output format. Each instance of %varN% will be replaced by the correct name for varN.
        Specified by:
        get_format_str in class NumericInt
      • eq_check

        public boolean eq_check​(long x,
                                long y)
        Description copied from class: NumericInt
        Returns true if x and y don't invalidate the invariant.
        Specified by:
        eq_check in class NumericInt
      • isObviousDynamically

        @Pure
        public @Nullable DiscardInfo isObviousDynamically​(VarInfo[] vis)
        Returns non-null if this invariant is obvious from an existing, non-falsified linear binary invariant in the same slice as this invariant. This invariant of the form "x % y == 0" is falsified if a linear binary invariant is found of the form "a*y - 1*x + 0 == 0"
        Overrides:
        isObviousDynamically in class NumericInt
        Returns:
        non-null value iff this invariant is obvious from other invariants in the same slice