Ejemplo n.º 1
0
    def do(x, y):
        """
        :param frozenset[object] x: A set of concrete elements, represented by
            an element of the abstract domain.

        :param frozenset[object] y: A set of concrete elements, represented by
            an element of the abstract domain.

        :return: A set of boolean values which contains all the possible
            boolean values that can result from testing inequality between
            concrete values of each given set in a pairwise manner.

        :rtype: frozenset[str]
        """
        return boolean_ops.not_(do_eq(x, y))
Ejemplo n.º 2
0
    def do(x, y):
        """
        :param (int, int) x: A set of concrete integers, represented by
            an element of the interval domain.

        :param (int, int) y: A set of concrete integers, represented by
            an element of the interval domain.

        :return: A set of booleans which contains all the possible values
            that can result from testing inequality between concrete values of
            each given set in a pairwise manner, represented by an element
            of the Boolean domain.

        :rtype: frozenset[str]
        """
        return boolean_ops.not_(do_eq(x, y))
Ejemplo n.º 3
0
    def do(res, l_constr, r_constr):
        """
        :param frozenset[str] res: A set of booleans corresponding to an output
            of the "is greater than" test, represented by an element of the
            Boolean domain.

        :param (int, int) l_constr: A constraint on the left input value of
            the "is greater than" test, as an element of the interval domain.

        :param (int, int) l_constr: A constraint on the right input value of
            the "is greater than" test, as an element of the interval domain.

        :return: Two sets of integers describing all the possible inputs
            of the "is greater than" test which can result in the given
            output, represented by elements of the interval domain. Returns
            None if the constraints cannot be satisfied.

        :rtype: ((int, int), (int, int)) | None
        """
        return do_inv_le(boolean_ops.not_(res), l_constr, r_constr)
Ejemplo n.º 4
0
    def do(res, l_constr, r_constr):
        """
        :param frozenset[str] res: A set of booleans corresponding to an output
            of the inequality operation, represented by an element of the
            Boolean domain.

        :param tuple l_constr: A constraint on the left input value of the
            inequality operation, as an element of the product domain.

        :param tuple r_constr: A constraint on the right input value of the
            inequality operation, as an element of the product domain.

        :return: Two sets of concrete values describing all the possible inputs
            of the inequality operation which can result in the given output,
            represented by elements of the product domain. Returns None
            if the constraints cannot be satisfied.

        :rtype: (frozenset[object], frozenset[object]) | None
        """
        return do_inv_eq(boolean_ops.not_(res), l_constr, r_constr)
Ejemplo n.º 5
0
 def do(res, a_constr, b_constr):
     return do_inv_eq(boolean_ops.not_(res), a_constr, b_constr)
Ejemplo n.º 6
0
 def do(a, b):
     return boolean_ops.not_(do_eq(a, b))