ó
~9­\c           @   s  d  d l  m Z m Z d  d l m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z m Z d  d l m Z m Z m Z m Z m Z m Z m  Z  m! Z! d  d l" m# Z# d  d l$ m% Z% m& Z& m' Z' m( Z( m) Z) e d ƒ \ Z* Z+ e e e ƒ d	 „  ƒ Z, e e e ƒ d
 „  ƒ Z, e e e ƒ d „  ƒ Z, e e e ƒ d „  ƒ Z, e e e ƒ d „  ƒ Z, e e e ƒ d „  ƒ Z- e e e ƒ d „  ƒ Z- e e e ƒ d „  ƒ Z- e e e ƒ d „  ƒ Z- e e e ƒ d „  ƒ Z- d S(   iÿÿÿÿ(   t   dispatcht
   Dispatcher(   t   Basict   Exprt   Functiont   Addt   Mult   Powt   Dummyt   Integer(	   t   Mint   Maxt   Sett   sympifyt   Lambdat   symbolst   expt   logt   S(   t   Infinityt   NegativeInfinity(   t   imagesett   Intervalt	   FiniteSett   Uniont   ImageSett
   ProductSett   EmptySett   Intersection(   t   FunctionClass(   t   Andt   Ort   Nott   truet   falses   x yc         C   s   d  S(   N(   t   None(   t   xt   y(    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyt   _set_add   s    c         C   s   |  | S(   N(    (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR&      s    c         C   s?   t  |  j | j |  j | j |  j p, | j |  j p; | j ƒ S(   s`   
    Additions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    (   R   t   startt   endt	   left_opent
   right_open(   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR&      s    c         C   s0   |  j  t j k r  t t t ƒ St t j h ƒ S(   N(   R'   R   R   R   t   ooR   R   (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR&      s    c         C   s0   |  j  t j k r  t t t ƒ St t j h ƒ S(   N(   R(   R   R   R   R+   R   R   (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR&   %   s    c         C   s   d  S(   N(   R#   (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyt   _set_sub,   s    c         C   s   |  | S(   N(    (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR,   0   s    c         C   s?   t  |  j | j |  j | j |  j p, | j |  j p; | j ƒ S(   sc   
    Subtractions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    (   R   R'   R(   R)   R*   (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR,   4   s    c         C   s+   t  j t j k r  t t t ƒ St t ƒ S(   N(   t   selfR'   R   R   R   R+   R   (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR,   =   s    c         C   s+   t  j t j k r  t t t ƒ St t ƒ S(   N(   R-   R'   R   R   R   R+   R   (   R$   R%   (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyR,   C   s    N(.   t   sympy.multipledispatchR    R   t
   sympy.coreR   R   R   R   R   R   R   R	   t   sympyR
   R   R   R   R   R   R   R   R   t   sympy.core.numbersR   R   t
   sympy.setsR   R   R   R   R   R   R   R   t   sympy.core.functionR   t   sympy.logic.boolalgR   R   R    R!   R"   t   _xt   _yR&   R,   (    (    (    s6   lib/python2.7/site-packages/sympy/sets/handlers/add.pyt   <module>   s"   :@:(		