Class NonRedundantPowersetOfInterval

    • Constructor Detail

      • NonRedundantPowersetOfInterval

        public NonRedundantPowersetOfInterval()
        Constructs an empty non redundant set of intervals.
      • NonRedundantPowersetOfInterval

        public NonRedundantPowersetOfInterval​(java.util.SortedSet<Interval> elements)
        Constructs a non redundant set of intervals with the given intervals.
        Parameters:
        elements - the set of intervals
    • Method Detail

      • middlePoint

        protected it.unive.lisa.util.numeric.MathNumber middlePoint​(Interval interval)
        Yields the middle point of an Interval. If both extremes are non-infinite the middle point is the sum of the two divided by two. If only one of the two extreme is infinite the middle point is said to be the non-infinite extreme. If both the extremes are infinite the middle point is said to be 0.
        Parameters:
        interval - the interval to calculate the middle point of
        Returns:
        the middle point of the interval
      • assumeBinaryExpression

        public it.unive.lisa.analysis.nonrelational.value.ValueEnvironment<NonRedundantPowersetOfInterval> assumeBinaryExpression​(it.unive.lisa.analysis.nonrelational.value.ValueEnvironment<NonRedundantPowersetOfInterval> environment,
                                                                                                                                  it.unive.lisa.symbolic.value.operator.binary.BinaryOperator operator,
                                                                                                                                  it.unive.lisa.symbolic.value.ValueExpression left,
                                                                                                                                  it.unive.lisa.symbolic.value.ValueExpression right,
                                                                                                                                  it.unive.lisa.program.cfg.ProgramPoint src,
                                                                                                                                  it.unive.lisa.program.cfg.ProgramPoint dest,
                                                                                                                                  it.unive.lisa.analysis.SemanticOracle oracle)
                                                                                                                           throws it.unive.lisa.analysis.SemanticException
        Throws:
        it.unive.lisa.analysis.SemanticException