§
    OŠtjÒ<  ã                   ó`   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d„ d¦  «        Z	d	„ Z
d
„ ZdS )añ  
Interval Arithmetic for plotting.
This module does not implement interval arithmetic accurately and
hence cannot be used for purposes other than plotting. If you want
to use interval arithmetic, use mpmath's interval arithmetic.

The module implements interval arithmetic using numpy and
python floating points. The rounding up and down is not handled
and hence this is not an accurate implementation of interval
arithmetic.

The module uses numpy for speed which cannot be achieved with mpmath.
é    )Ú
int_valued)Ú	fuzzy_and)Ú	nsimplifyé   )ÚintervalMembershipc                   óÄ   — e Zd ZdZddœd„Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Úintervala:   Represents an interval containing floating points as start and
    end of the interval
    The is_valid variable tracks whether the interval obtained as the
    result of the function is in the domain and is continuous.
    - True: Represents the interval result of a function is continuous and
            in the domain of the function.
    - False: The interval argument of the function was not in the domain of
             the function, hence the is_valid of the result interval is False
    - None: The function was not continuous over the interval or
            the function's argument interval is partly in the domain of the
            function

    A comparison between an interval and a real number, or a
    comparison between two intervals may return ``intervalMembership``
    of two 3-valued logic values.
    T©Úis_validc                óf  — || _         t          |¦  «        dk    rxt          |d         t          ¦  «        r'|d         j        |d         j        c| _        | _        d S t          |d         ¦  «        | _        t          |d         ¦  «        | _        d S t          |¦  «        dk    r~|d         |d         k     r6t          |d         ¦  «        | _        t          |d         ¦  «        | _        d S t          |d         ¦  «        | _        t          |d         ¦  «        | _        d S t          d¦  «        ‚)Nr   r   é   z9interval takes a maximum of two float values as arguments)r   ÚlenÚ
isinstancer	   ÚstartÚendÚfloatÚ
ValueError)Úselfr   ÚargsÚkwargss       úm/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/plotting/intervalmath/interval_arithmetic.pyÚ__init__zinterval.__init__<   sû   € Ø ˆŒÝˆt‰9Œ9˜Š>ˆ>Ý˜$˜qœ'¥8Ñ,Ô,ð *Ø'+¨A¤w¤}°d¸1´g´kÐ$�”
˜DœH˜H˜Hå" 4¨¤7™^œ^�”
Ý   a¤™>œ>�”��Ý�‰YŒY˜!Š^ˆ^Ø�AŒw˜˜aœÒ Ð Ý" 4¨¤7™^œ^�”
Ý   a¤™>œ>�”��å" 4¨¤7™^œ^�”
Ý   a¤™>œ>�”��õ ð +ñ ,ô ,ð ,ó    c                 ó&   — | j         | j        z   dz  S )Ng       @©r   r   ©r   s    r   Úmidzinterval.midP   s   € à”
˜TœXÑ%¨Ñ,Ð,r   c                 ó    — | j         | j        z
  S ©N)r   r   r   s    r   Úwidthzinterval.widthT   s   € àŒx˜$œ*Ñ$Ð$r   c                 ó$   — d| j         | j        fz  S )Nzinterval(%f, %f)r   r   s    r   Ú__repr__zinterval.__repr__X   s   € Ø! T¤Z°´Ð$:Ñ:Ð:r   c                 ó$   — d| j         | j        fz  S )Nz[%f, %f]r   r   s    r   Ú__str__zinterval.__str__[   s   € Ø˜TœZ¨¬Ð2Ñ2Ð2r   c                 óò  — t          |t          t          f¦  «        rU| j        |k     rt	          d| j        ¦  «        S | j        |k    rt	          d| j        ¦  «        S t	          d | j        ¦  «        S t          |t          ¦  «        rkt          | j        |j        g¦  «        }| j        |j        k     rt	          d|¦  «        S | j        |j        k    rt	          d|¦  «        S t	          d |¦  «        S t          S ©NTF©
r   Úintr   r   r   r   r   r	   r   ÚNotImplemented©r   ÚotherÚvalids      r   Ú__lt__zinterval.__lt__^   sä   € Ý�e�c¥5˜\Ñ*Ô*ð 	"ØŒx˜%ÒÐÝ)¨$°´Ñ>Ô>Ð>Ø”˜eÒ#Ð#Ý)¨%°´Ñ?Ô?Ð?å)¨$°´Ñ>Ô>Ð>å˜�xÑ(Ô(ð 	"Ý˜tœ}¨e¬nÐ=Ñ>Ô>ˆEØŒx˜%œ,Ò&Ð&Ý)¨$°Ñ6Ô6Ð6ØŒz˜EœIÒ%Ð%Ý)¨%°Ñ7Ô7Ð7Ý% d¨EÑ2Ô2Ð2å!Ð!r   c                 óF  — t          |t          t          f¦  «        rU| j        |k    rt	          d| j        ¦  «        S | j        |k     rt	          d| j        ¦  «        S t	          d | j        ¦  «        S t          |t          ¦  «        r|                     | ¦  «        S t          S r&   )
r   r(   r   r   r   r   r   r	   r-   r)   ©r   r+   s     r   Ú__gt__zinterval.__gt__q   s’   € Ý�e�c¥5˜\Ñ*Ô*ð 
	"ØŒz˜EÒ!Ð!Ý)¨$°´Ñ>Ô>Ð>Ø”˜EÒ!Ð!Ý)¨%°´Ñ?Ô?Ð?å)¨$°´Ñ>Ô>Ð>Ý˜�xÑ(Ô(ð 	"Ø—<’< Ñ%Ô%Ð%å!Ð!r   c                 ó0  — t          |t          t          f¦  «        rY| j        |k    r | j        |k    rt          d| j        ¦  «        S || v rt          d | j        ¦  «        S t          d| j        ¦  «        S t          |t          ¦  «        r†t          | j        |j        g¦  «        }| j        |j        k    r | j        |j        k    rt          d|¦  «        S |  	                    |¦  «        d         �t          d|¦  «        S t          d |¦  «        S t          S )NTFr   ©r   r(   r   r   r   r   r   r	   r   r-   r)   r*   s      r   Ú__eq__zinterval.__eq__~   s  € Ý�e�c¥5˜\Ñ*Ô*ð 	@ØŒz˜UÒ"Ð" t¤x°5Ò'8Ð'8Ý)¨$°´Ñ>Ô>Ð>Ø˜ˆ}ˆ}Ý)¨$°´Ñ>Ô>Ð>å)¨%°´Ñ?Ô?Ð?å�e�XÑ&Ô&ð 		"Ý˜tœ}¨e¬nÐ=Ñ>Ô>ˆEØŒz˜Uœ[Ò(Ð(¨T¬X¸¼Ò-BÐ-BÝ)¨$°Ñ6Ô6Ð6Ø—’˜UÑ#Ô# AÔ&Ð2Ý)¨%°Ñ7Ô7Ð7å)¨$°Ñ6Ô6Ð6å!Ð!r   c                 ó0  — t          |t          t          f¦  «        rY| j        |k    r | j        |k    rt          d| j        ¦  «        S || v rt          d | j        ¦  «        S t          d| j        ¦  «        S t          |t          ¦  «        r†t          | j        |j        g¦  «        }| j        |j        k    r | j        |j        k    rt          d|¦  «        S |  	                    |¦  «        d         �t          d|¦  «        S t          d |¦  «        S t          S )NFTr   r2   r*   s      r   Ú__ne__zinterval.__ne__’   s  € Ý�e�c¥5˜\Ñ*Ô*ð 	?ØŒz˜UÒ"Ð" t¤x°5Ò'8Ð'8Ý)¨%°´Ñ?Ô?Ð?Ø˜ˆ}ˆ}Ý)¨$°´Ñ>Ô>Ð>å)¨$°´Ñ>Ô>Ð>å�e�XÑ&Ô&ð 	"Ý˜tœ}¨e¬nÐ=Ñ>Ô>ˆEØŒz˜Uœ[Ò(Ð(¨T¬X¸¼Ò-BÐ-BÝ)¨%°Ñ7Ô7Ð7Ø—;’;˜uÑ%Ô% aÔ(Ð0Ý)¨$°Ñ6Ô6Ð6Ý% d¨EÑ2Ô2Ð2å!Ð!r   c                 óò  — t          |t          t          f¦  «        rU| j        |k    rt	          d| j        ¦  «        S | j        |k    rt	          d| j        ¦  «        S t	          d | j        ¦  «        S t          |t          ¦  «        rkt          | j        |j        g¦  «        }| j        |j        k    rt	          d|¦  «        S | j        |j        k    rt	          d|¦  «        S t	          d |¦  «        S t          S r&   r'   r*   s      r   Ú__le__zinterval.__le__¥   sä   € Ý�e�c¥5˜\Ñ*Ô*ð 	?ØŒx˜5Ò Ð Ý)¨$°´Ñ>Ô>Ð>ØŒz˜EÒ!Ð!Ý)¨%°´Ñ?Ô?Ð?å)¨$°´Ñ>Ô>Ð>å�e�XÑ&Ô&ð 	"Ý˜tœ}¨e¬nÐ=Ñ>Ô>ˆEØŒx˜5œ;Ò&Ð&Ý)¨$°Ñ6Ô6Ð6ØŒz˜EœIÒ%Ð%Ý)¨%°Ñ7Ô7Ð7Ý% d¨EÑ2Ô2Ð2å!Ð!r   c                 ó<  — t          |t          t          f¦  «        rU| j        |k    rt	          d| j        ¦  «        S | j        |k     rt	          d| j        ¦  «        S t	          d | j        ¦  «        S t          |t          ¦  «        r|                     | ¦  «        S d S r&   )	r   r(   r   r   r   r   r   r	   r7   r/   s     r   Ú__ge__zinterval.__ge__¸   s–   € Ý�e�c¥5˜\Ñ*Ô*ð 	&ØŒz˜UÒ"Ð"Ý)¨$°´Ñ>Ô>Ð>Ø”˜EÒ!Ð!Ý)¨%°´Ñ?Ô?Ð?å)¨$°´Ñ>Ô>Ð>Ý˜�xÑ(Ô(ð 	&Ø—<’< Ñ%Ô%Ð%ð	&ð 	&r   c                 ó¬  — t          |t          t          f¦  «        rR| j        r t	          | j        |z   | j        |z   ¦  «        S | j        |z   }| j        |z   }t	          ||| j        ¬¦  «        S t          |t          ¦  «        rK| j        |j        z   }| j        |j        z   }t          | j        |j        g¦  «        }t	          |||¬¦  «        S t          S ©Nr
   )	r   r(   r   r   r	   r   r   r   r)   ©r   r+   r   r   r,   s        r   Ú__add__zinterval.__add__Ã   sÏ   € Ý�e�c¥5˜\Ñ*Ô*ð 	"ØŒ}ð DÝ ¤
¨UÑ 2°D´H¸uÑ4DÑEÔEÐEàœ
 UÑ*�Ø”h Ñ&�Ý  s°T´]ÐCÑCÔCÐCå˜�xÑ(Ô(ð 	"Ø”J ¤Ñ,ˆEØ”(˜UœYÑ&ˆCÝ˜tœ}¨e¬nÐ=Ñ>Ô>ˆEÝ˜E 3°Ð7Ñ7Ô7Ð7å!Ð!r   c                 ó^  — t          |t          t          f¦  «        r+| j        |z
  }| j        |z
  }t          ||| j        ¬¦  «        S t          |t
          ¦  «        rK| j        |j        z
  }| j        |j        z
  }t          | j        |j        g¦  «        }t          |||¬¦  «        S t          S r;   )	r   r(   r   r   r   r	   r   r   r)   r<   s        r   Ú__sub__zinterval.__sub__Ö   s¦   € Ý�e�c¥5˜\Ñ*Ô*ð 	"Ø”J Ñ&ˆEØ”(˜UÑ"ˆCÝ˜E 3°´Ð?Ñ?Ô?Ð?å˜�xÑ(Ô(ð 	"Ø”J ¤Ñ*ˆEØ”(˜Uœ[Ñ(ˆCÝ˜tœ}¨e¬nÐ=Ñ>Ô>ˆEÝ˜E 3°Ð7Ñ7Ô7Ð7å!Ð!r   c                 óò   — t          |t          t          f¦  «        r+|| j        z
  }|| j        z
  }t          ||| j        ¬¦  «        S t          |t
          ¦  «        r|                     | ¦  «        S t          S r;   )	r   r(   r   r   r   r	   r   r?   r)   )r   r+   r   r   s       r   Ú__rsub__zinterval.__rsub__ä   sq   € Ý�e�c¥5˜\Ñ*Ô*ð 	"Ø˜DœHÑ$ˆEØ˜$œ*Ñ$ˆCÝ˜E 3°´Ð?Ñ?Ô?Ð?Ý˜�xÑ(Ô(ð 	"Ø—=’= Ñ&Ô&Ð&å!Ð!r   c                 óŽ   — | j         rt          | j         | j         ¦  «        S t          | j         | j         | j         ¬¦  «        S r;   )r   r	   r   r   r   s    r   Ú__neg__zinterval.__neg__î   sD   € ØŒ=ð 	LÝ˜TœX˜I¨¬
 {Ñ3Ô3Ð3å˜TœX˜I¨¬
 {¸T¼]ÐKÑKÔKÐKr   c                 ó&  — t          |t          ¦  «        �r2| j        du s	|j        du r-t          t          d¦  «         t          d¦  «        d¬¦  «        S | j        �|j        €-t          t          d¦  «         t          d¦  «        d ¬¦  «        S g }|                     | j        |j        z  ¦  «         |                     | j        |j        z  ¦  «         |                     | j        |j        z  ¦  «         |                     | j        |j        z  ¦  «         t          |¦  «        }t          |¦  «        }t          ||¦  «        S t          |t          t          f¦  «        r't          | j        |z  | j        |z  | j        ¬¦  «        S t          S )NFÚinfr
   )r   r	   r   r   Úappendr   r   ÚminÚmaxr(   r)   )r   r+   Úintersr   r   s        r   Ú__mul__zinterval.__mul__ô   sY  € Ý�e�XÑ&Ô&ñ 	"ØŒ} Ð%Ð%¨¬¸5Ð)@Ð)@Ý¥ u¡¤ ­u°U©|¬|ÀeÐLÑLÔLÐLØ”Ð&¨%¬.Ð*@Ý¥ u¡¤ ­u°U©|¬|ÀdÐKÑKÔKÐKà�Ø—’˜dœj¨5¬;Ñ6Ñ7Ô7Ð7Ø—’˜dœh¨¬Ñ4Ñ5Ô5Ð5Ø—’˜dœj¨5¬9Ñ4Ñ5Ô5Ð5Ø—’˜dœh¨¬Ñ2Ñ3Ô3Ð3Ý˜F™œ�Ý˜&‘k”k�Ý  sÑ+Ô+Ð+Ý˜¥¥U˜|Ñ,Ô,ð 	"Ý˜DœJ uÑ,¨d¬h°u©nÀtÄ}ÐUÑUÔUÐUå!Ð!r   c                 ó¦   — t          |t          t          f¦  «        r| j        |k    o
| j        |k    S | j        |j        k    o|j        | j        k    S r   )r   r(   r   r   r   r/   s     r   Ú__contains__zinterval.__contains__
  sO   € Ý�e�c¥5˜\Ñ*Ô*ð 	GØ”: Ò&Ð<¨4¬8°uÒ+<Ð<à”: ¤Ò,ÐF°´¸d¼hÒ1FÐFr   c                 óä   — t          |t          t          f¦  «        r$t          |¦  «        }|                     | ¦  «        S t          |t          ¦  «        r|                     | ¦  «        S t
          S r   )r   r(   r   r	   Ú__truediv__r)   r/   s     r   Ú__rtruediv__zinterval.__rtruediv__  sc   € Ý�e�c¥5˜\Ñ*Ô*ð 	"Ý˜U‘O”OˆEØ×$Ò$ TÑ*Ô*Ð*Ý˜�xÑ(Ô(ð 	"Ø×$Ò$ TÑ*Ô*Ð*å!Ð!r   c                 óx  — | j         s2t          t          d¦  «         t          d¦  «        | j         ¬¦  «        S t          |t          t          f¦  «        rS|dk    r-t          t          d¦  «         t          d¦  «        d¬¦  «        S t          | j        |z  | j        |z  ¦  «        S t          |t          ¦  «        �rv|j         du s	| j         du r-t          t          d¦  «         t          d¦  «        d¬¦  «        S |j         �| j         €-t          t          d¦  «         t          d¦  «        d ¬¦  «        S d|v r-t          t          d¦  «         t          d¦  «        d ¬¦  «        S | }|j        dk     r| }| }g }|                     |j        |j        z  ¦  «         |                     |j        |j        z  ¦  «         |                     |j        |j        z  ¦  «         |                     |j        |j        z  ¦  «         t          |¦  «        }t          |¦  «        }t          ||¦  «        S t          S )NrE   r
   r   F)r   r	   r   r   r(   r   r   rF   rH   rG   r)   )r   r+   ÚthisrI   r   r   s         r   rN   zinterval.__truediv__  sÿ  € àŒ}ð 	Qå�U 5™\œ\˜M­5°©<¬<À$Ä-ÐPÑPÔPÐPÝ�e�c¥5˜\Ñ*Ô*ð "	"Ø˜Šzˆzå¥ u¡¤ ­u°U©|¬|ÀeÐLÑLÔLÐLå ¤
¨UÑ 2°D´H¸uÑ4DÑEÔEÐEå˜�xÑ(Ô(ñ 	"ØŒ~ Ð&Ð&¨$¬-¸5Ð*@Ð*@Ý¥ u¡¤ ­u°U©|¬|ÀeÐLÑLÔLÐLØ”Ð'¨4¬=Ð+@Ý¥ u¡¤ ­u°U©|¬|ÀdÐKÑKÔKÐKð ˜�:�:Ý#¥U¨5¡\¤\ Mµ5¸±<´<È$ÐOÑOÔOÐOð �Ø”9˜q’=�=Ø ˜5�DØ"˜F�Eð �Ø—’˜dœj¨5¬;Ñ6Ñ7Ô7Ð7Ø—’˜dœh¨¬Ñ4Ñ5Ô5Ð5Ø—’˜dœj¨5¬9Ñ4Ñ5Ô5Ð5Ø—’˜dœh¨¬Ñ2Ñ3Ô3Ð3Ý˜F™œ�Ý˜&‘k”k�Ý  sÑ+Ô+Ð+å!Ð!r   c                 óv  — ddl m}m} | j        s| S t	          |t
          ¦  «        r || || ¦  «        z  ¦  «        S t	          |t          t          f¦  «        rZ|dk     r%d|                      t          |¦  «        ¦  «        z  S t          |¦  «        rt          | |¦  «        S t          | |¦  «        S t          S )Nr   )ÚexpÚlogr   )Úlib_intervalrS   rT   r   r   r	   r   r(   Ú__pow__Úabsr   Ú_pow_intÚ
_pow_floatr)   )r   r+   rS   rT   s       r   rV   zinterval.__pow__B  sÊ   € à*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ØŒ}ð 	ØˆKÝ�e�XÑ&Ô&ð 	"Ø�3�u˜s˜s 4™yœyÑ(Ñ)Ô)Ð)Ý˜¥¥s˜|Ñ,Ô,ð 		"Ø�qŠyˆyØ˜4Ÿ<š<­¨E©
¬
Ñ3Ô3Ñ3Ð3å˜eÑ$Ô$ð 3Ý# D¨%Ñ0Ô0Ð0å% d¨EÑ2Ô2Ð2å!Ð!r   c                 ó€  — t          |t          t          f¦  «        rò| j        s| S |dk     rÃ| j        dk    r-t          t          d¦  «         t          d¦  «        d¬¦  «        S t          | j        ¦  «        }|                     ¦   «         \  }}|dz  dk    r-t          t          d¦  «         t          d¦  «        d¬¦  «        S t          |¦  «        | j        z   }|}t          ||¦  «        S t          || j        z  || j
        z  ¦  «        S t          |t
          ¦  «        r|                     | ¦  «        S t          S )Nr   rE   Fr
   r   )r   r   r(   r   r    r	   r   r   Úas_numer_denomrW   r   rV   r)   )r   r+   Úpower_rationalÚnumÚdenomr   r   s          r   Ú__rpow__zinterval.__rpow__T  s/  € Ý�e�e¥S˜\Ñ*Ô*ð 	"Ø”=ð Dà�Ø˜’�Ø”: ’>�>Ý#¥U¨5¡\¤\ Mµ5¸±<´<È%ÐPÑPÔPÐPå%.¨t¬zÑ%:Ô%:�NØ!/×!>Ò!>Ñ!@Ô!@‘J�C˜Ø˜q‘y A’~�~Ý'­¨u©¬¨µu¸U±|´|Ø16ð 8ñ  8ô  8ð 8õ "% U¡¤¨T¬ZÑ!7Ð 7˜Ø#˜Ý'¨¨sÑ3Ô3Ð3å  t¤zÑ 1°5¸$¼(±?ÑCÔCÐCÝ˜�xÑ(Ô(ð 	"Ø—=’= Ñ&Ô&Ð&å!Ð!r   c                 óD   — t          | j        | j        | j        f¦  «        S r   )Úhashr   r   r   r   s    r   Ú__hash__zinterval.__hash__m  s   € Ý�T”] D¤J°´Ð9Ñ:Ô:Ð:r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r    r"   r$   r-   r0   r3   r5   r7   r9   r=   Ú__radd__r?   rA   rC   rJ   Ú__rmul__rL   rO   rN   rV   r_   rb   © r   r   r	   r	   *   s¤  € € € € € ðð ð" (,ð ,ð ,ð ,ð ,ð ,ð( ð-ð -ñ „Xð-ð ð%ð %ñ „Xð%ð;ð ;ð ;ð3ð 3ð 3ð"ð "ð "ð&"ð "ð "ð"ð "ð "ð("ð "ð "ð&"ð "ð "ð&	&ð 	&ð 	&ð"ð "ð "ð" €Hð"ð "ð "ð"ð "ð "ðLð Lð Lð"ð "ð "ð( €HðGð Gð Gð"ð "ð "ð'"ð '"ð '"ðR"ð "ð "ð$"ð "ð "ð2;ð ;ð ;ð ;ð ;r   r	   c                 ó  — t          |¦  «        }|                     ¦   «         \  }}|dz  dk    ret          | j        ¦  «        |z  }t          | j        ¦  «        |z  }|dk     rt          dt          ||¦  «        ¦  «        }nt          ||¦  «        }|S |dz  dk    r}| j        dk     r-t          t          d¦  «         t          d¦  «        d¬¦  «        S | j        dk     rt          d| j        |z  d¬¦  «        S t          | j        |z  | j        |z  ¦  «        S | j        dk     rt          | j        ¦  «        |z   }n
| j        |z  }| j        dk     rt          | j        ¦  «        |z   }n
| j        |z  }t          ||| j        ¬¦  «        S )z1Evaluates an interval raised to a floating point.r   r   rE   Fr
   N)	r   r[   rW   r   r   r	   rH   r   r   )ÚinterÚpowerr\   r]   r^   r   r   Úrets           r   rY   rY   q  s‚  € å˜uÑ%Ô%€NØ×.Ò.Ñ0Ô0�J€CˆØ
ˆQ�w�!‚|€|Ý�E”KÑ Ô  %Ñ'ˆÝ�%”)‰nŒn˜eÑ#ˆØ�1Š9ˆ9Ý˜1�c %¨™oœoÑ.Ô.ˆCˆCå˜5 #Ñ&Ô&ˆCØˆ
Ø	�‰�aŠˆØŒ9�qŠ=ˆ=Ý�U 5™\œ\˜M­5°©<¬<À%ÐHÑHÔHÐHØŒ[˜1Š_ˆ_Ý˜A˜uœy¨%Ñ/¸$Ð?Ñ?Ô?Ð?å˜EœK¨Ñ.°´	¸5Ñ0@ÑAÔAÐAàŒ;˜Š?ˆ?Ý˜œÑ%Ô% uÑ,Ð,ˆEˆEà”K Ñ&ˆEàŒ9�qŠ=ˆ=Ý�u”y‘>”> 5Ñ(Ð(ˆCˆCà”)˜UÑ"ˆCå˜˜s¨U¬^Ð<Ñ<Ô<Ð<r   c                 ó:  — t          |¦  «        }|dz  r t          | j        |z  | j        |z  ¦  «        S | j        dk     r=| j        dk    r2d}t	          | j        |z  | j        |z  ¦  «        }t          ||¦  «        S t          | j        |z  | j        |z  ¦  «        S )z0Evaluates an interval raised to an integer powerr   r   )r(   r	   r   r   rH   )rl   rm   r   r   s       r   rX   rX   ’  s�   € å�‰JŒJ€EØˆq�yð BÝ˜œ UÑ*¨E¬I°uÑ,<Ñ=Ô=Ð=àŒ;˜Š?ˆ?˜uœy¨1š}˜}ØˆEÝ�e”k 5Ñ(¨%¬)°UÑ*:Ñ;Ô;ˆCÝ˜E 3Ñ'Ô'Ð'å˜EœK¨Ñ.°´	¸5Ñ0@ÑAÔAÐAr   N)rf   Úsympy.core.numbersr   Úsympy.core.logicr   Úsympy.simplify.simplifyr   Úinterval_membershipr   r	   rY   rX   rj   r   r   ú<module>rt      s¹   ððð ðD *Ð )Ð )Ð )Ð )Ð )Ø &Ð &Ð &Ð &Ð &Ð &Ø -Ð -Ð -Ð -Ð -Ð -à 3Ð 3Ð 3Ð 3Ð 3Ð 3ðD;ð D;ð D;ð D;ð D;ñ D;ô D;ð D;ðN
=ð =ð =ðBBð Bð Bð Bð Br   