o
    GZh                     @   s  d dl mZ d dlmZ d dl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 d dlmZmZmZmZ d dlmZ ejejejejejejgZedZeeed	d
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 Zeeedd
 ZdS )    )S)Symbol)	fuzzy_and
fuzzy_bool	fuzzy_notfuzzy_or)Eq)	FiniteSetIntervalSetUnion
ProductSet)	ComplexesRealsRange	Rationals)
Dispatcheris_subset_setsc                 C   s   d S N abr   r   K/var/www/auris/lib/python3.10/site-packages/sympy/sets/handlers/issubset.py_      r   c                 C   sx   t | j|jk r
dS t | j|jkrdS |jr%| js%t t| j|jr%dS |jr6| js8t t| j|jr:dS d S d S d S NF)r   startend	left_openr   
right_openr   r   r   r   r      s   c                 C   s   t | jjrdS d S r   )r   measureis_zero)
a_intervalb_fsr   r   r   r       s   c                    s   t dd |jD rBdd |jD }t  fdd|D rdS t  fdd|D r,dS  jjrDdd	 t  fd
d|D rFdS d S d S d S )Nc                 s   s    | ]
}t |ttfV  qd S r   )
isinstancer
   r	   .0sr   r   r   	<genexpr>)   s    _.<locals>.<genexpr>c                 S   s   g | ]	}t |tr|qS r   )r%   r
   r&   r   r   r   
<listcomp>*   s    z_.<locals>.<listcomp>c                 3   s     | ]}t  j|jk V  qd S r   )r   r   r&   r#   r   r   r)   +       Fc                 3   s     | ]}t  j|jkV  qd S r   )r   r   r&   r,   r   r   r)   -   r-   c                 S   s$   t t| j|jkt| j|jkgS r   )r   r   r   r   )s1s2r   r   r   <lambda>0   s    z_.<locals>.<lambda>c                 3   s    | ]}| V  qd S r   r   r&   r#   Z
no_overlapr   r   r)   4       )allargsr!   Z
is_nonzero)r#   Zb_uZ	intervalsr   r1   r   r   '   s   c                 C   sF   | j |j   krdkr!n d S tt| j|jkt| j|jkgS d S )N   )stepr   r   r   stopr   r   r   r   r   7   s
   c                 C   sh   | j jr2|jr| jjr| j|jk}n| j|jk}|jr&| jjr&| j|jk }n| j|jk}t	||gS d S r   )
r6   Zis_positiver   inf	is_finiteleftr    suprightr   )a_rangeZ
b_intervalZ	cond_leftZ
cond_rightr   r   r   r   =   s   c                    s   z| j }W n
 ty   Y d S w |t krdS tdd | jD r-t fdd| D S t| }t }d} D ]-}|jrD|| n
t	|j
rJn|d7 }|d8 }t||| kr] dS t|dkrf dS q9d S )NFc                 s   s    | ]}| tV  qd S r   )hasr   )r'   argr   r   r   r)   S   r2   r*   c                 3       | ]}  |V  qd S r   containsr'   xb_finitesetr   r   r)   T   r2   r   r5   T)size
ValueErrorlenanyr4   r   setZ
is_Integerdiscardr   
is_integer)r=   rF   Za_sizeZa_setZb_remainingZcnt_candidater   r   rE   r   r   J   s2   

c                 C      | j jrdS d S r   r!   Zis_extended_nonzero)r#   Zb_ranger   r   r   r   l      c                 C   rN   r   rO   )r#   Zb_rationalsr   r   r   r   q   rP   c                 C      dS NTr   r   r   r   r   r   v   r   c                 C   rQ   r   r   r   r   r   r   r   z   r   c                 C   rQ   r   r   r   r   r   r   r   ~   r   c                 C   rQ   r   r   r   r   r   r   r      r   c                 C   rQ   rR   r   r   r   r   r   r      r   c                 C   rQ   r   r   r   r   r   r   r      r   c                    s   t  fdd| D S )Nc                 3   r@   r   rA   rC   r$   r   r   r)      r2   r*   )r   )Za_psr$   r   rS   r   r      s   N)Zsympy.core.singletonr   Zsympy.core.symbolr   Zsympy.core.logicr   r   r   r   Zsympy.core.relationalr   Zsympy.sets.setsr	   r
   r   r   r   Zsympy.sets.fancysetsr   r   r   r   Zsympy.multipledispatchr   ZNaturalsZ	Naturals0ZIntegersZ	_inf_setsr   registerr   r   r   r   r   <module>   sR    














!















