403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.216.115
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/pythran/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/pythran/__pycache__/interval.cpython-311.pyc
�

cR�a�6����dZddlmZmZddlZddlZGd�de��ZGd�de��Zee	d��e	d����Z
ee
g��Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�ZdS)z3 Module with facilities to represent range values. �)�isinf�isnanNc���eZdZdZd�Zed���Zed���Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�ZeZd
�ZeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!e Z"dS)�Intervalz' Representation for a range of values. c��t|��rtd��}t|��rtd��
}||_||_dS)z( Set initial bound of the range object. �infN)r�float�_low�_high)�self�low�highs   �2/usr/lib/python3/dist-packages/pythran/interval.py�__init__zInterval.__init__
sJ����:�:�	 ���<�<�-�C���;�;�	!��%�L�L�=�D���	���
�
�
�c��|jS�N)r
�rs rr
zInterval.lows
���y�rc��|jSr)rrs rrz
Interval.highs
���z�rc�D�d�|j|j���S)z2 Return a nicely formatted representation string. z Interval(low={low}, high={high})�r
r)�formatr
rrs r�__repr__zInterval.__repr__s+��1�8�8�T�X�>B�i�9�I�I�	Irc��|j|jfSrrrs r�boundszInterval.bounds#s���x���"�"rc�6�|j|cxko
|jkncSrr)r�values  r�__contains__zInterval.__contains__&s(���x�5�-�-�-�-�D�I�-�-�-�-�-rc��tt|j|j��t|j|j����S)z$ Intersect current range with other.)r�minr
�maxr�r�others  r�unionzInterval.union)s.����D�H�e�i�0�0�#�d�i���2L�2L�M�M�Mrc��tt|j|j��t|j|j����Sr)rr!r
r rr"s  r�	intersectzInterval.intersect-s.����D�H�e�i�0�0�#�d�i���2L�2L�M�M�Mrc�6�t|j|j��Sr)rr
rrs r�copyz
Interval.copy0s�����$�)�,�,�,rc��|j|jkrtd��}n|j}|j|jkrtd��}n|j}t||��S)z Widen current range. r)r
r	rr)rr#r
rs    r�widenzInterval.widen3sZ���8�e�i�����<�<�-�C�C��(�C��9�u�z�!�!���<�<�D�D��9�D���T�"�"�"rc������fd�}ttt|������r(td�|��D����rtSd�t	j����������D��}tt|��t|����S)a(
        Combiner for Multiplication operation.

        >>> Interval(1, 5) * Interval(-5, -4)
        Interval(low=-25, high=-4)
        >>> Interval(-1, 5) * Interval(-5, 3)
        Interval(low=-25, high=15)
        >>> Interval(1, 5) * Interval(3, 8)
        Interval(low=3, high=40)
        c�v��tj����������Sr��	itertools�chainr�r#rs��r�
all_boundsz$Interval.__mul__.<locals>.all_boundsK�%����?�4�;�;�=�=�%�,�,�.�.�A�A�Arc3�"K�|]
}|dkV��dS)rN���.0�xs  r�	<genexpr>z#Interval.__mul__.<locals>.<genexpr>Ns&����0N�0N�A��a��0N�0N�0N�0N�0N�0Nrc��g|]
\}}||z��Sr4r4�r6�v1�v2s   r�
<listcomp>z$Interval.__mul__.<locals>.<listcomp>Qs2��A�A�A�6�2�r�r�B�w�A�A�Ar)
�any�mapr�
UNKNOWN_RANGEr.�productrrr r!�rr#r1�ress``  r�__mul__zInterval.__mul__?s�����	B�	B�	B�	B�	B�	B��s�5�*�*�,�,�'�'�(�(�	!�S�0N�0N�����0N�0N�0N�-N�-N�	!� � �A�A�� �����������?�?�A�A�A����C���#�c�(�(�+�+�+rc�����jdkr�jdkrtS�jdkrtS��fd�}td�|��D����rtSd�t	j����������D��}tt|��t|����S)a"
        Combiner for Divide operation.

        >>> Interval(-1, 5) / Interval(3, 8)
        Interval(low=-1, high=1)
        >>> Interval(-1, 5) / Interval(-5, -4)
        Interval(low=-2, high=0)
        >>> Interval(-1, 5) / Interval(-5, 3)
        Interval(low=-inf, high=inf)
        rc�v��tj����������Srr-r0s��rr1z$Interval.__div__.<locals>.all_boundshr2rc3�4K�|]}t|��V��dSr�rr5s  rr8z#Interval.__div__.<locals>.<genexpr>ks(����.�.�A�u�Q�x�x�.�.�.�.�.�.rc��g|]
\}}||z��Sr4r4r:s   rr=z$Interval.__div__.<locals>.<listcomp>ns2��A�A�A�F�B��r�R�x�A�A�Ar)
r
rr@r>r.rArrr r!rBs``  r�__div__zInterval.__div__Ws������9��>�>�e�j�A�o�o� � ��9��>�>� � �	B�	B�	B�	B�	B�	B��.�.�����.�.�.�.�.�	!� � �A�A�� �����������?�?�A�A�A����C���#�c�(�(�+�+�+rc�\�t|t��rtS|j|j|j|jf\}}}}t|��rt|��r||zdkrtSt|��rt|��r||zdkrtSt
||z||z��S)z�
        Combiner for Addition operation.

        >>> Interval(-12, 5) + Interval(-5, -3)
        Interval(low=-17, high=2)
        r)�
isinstance�
IntervalTupler@r
rrr�rr#�sl�sh�ol�ohs      r�__add__zInterval.__add__ts����e�]�+�+�	!� � ���4�9�e�i���C���B��B���9�9�	!��r���	!�r�B�w��{�{� � ���9�9�	!��r���	!�r�B�w��{�{� � ���R���b��)�)�)rc��|j|j|j|jf\}}}}t|��rt|��rtSt|��rt|��rtSt	||z
||z
��S)z�
        Combiner for Subtraction operation.

        >>> Interval(1, 5) - Interval(-5, -4)
        Interval(low=5, high=10)
        )r
rrr@rrNs      r�__sub__zInterval.__sub__�s|����4�9�e�i���C���B��B���9�9�	!��r���	!� � ���9�9�	!��r���	!� � ���R���b��)�)�)rc�`�|jdkr,t|j��r|j}n6|j|jz	}n&t|j��rd}n|j|jz	}t|j��r|j}n&t|j��rd}n|j|jz	}t||��S)a�
        Combiner for Right shift operation.

        >>> Interval(10, 100) >> Interval(3, 8)
        Interval(low=0, high=12)
        >>> Interval(10, float("inf")) >> Interval(3, 8)
        Interval(low=0, high=inf)
        >>> Interval(-float("inf"), 0) >> Interval(3, 8)
        Interval(low=-inf, high=0)
        >>> Interval(-30, 10) >> Interval(3, float('inf'))
        Interval(low=-4, high=1)
        r)r
rrr)�range1�range2�min_�max_s    r�
__rshift__zInterval.__rshift__�s����:��?�?��V�Z� � �
0��z����z�V�Z�/���
�6�;�
�
�	-��D�D��:���,�D������	-��;�D�D�
�6�:�
�
�	-��D�D��;�&�*�,�D���d�#�#�#rc��tdt|jtt	|j��t	|j��������S)z� Combiner for Modulo operation.

        >>> Interval(-1, 5) % Interval(1, 13)
        Interval(low=0, high=5)
        >>> Interval(-21, 5) % Interval(1, 13)
        Interval(low=0, high=13)
        r)rr rr!�absr
)rWrXs  r�__mod__zInterval.__mod__�sL����3�v�{�"�3�v�{�#3�#3�S���_�_�E�E�G�G�H�H�	Hrc�$�d�tj|���|�����D��}tt	jt
|����t	jt|������S)a/
        Combiner for Power operation.

        >>> Interval(1, 5) ** Interval(-5, -4)
        Interval(low=1.0, high=1.0)
        >>> Interval(-1, 5) ** Interval(-5, 3)
        Interval(low=-1.0, high=125.0)
        >>> Interval(1, 5) ** Interval(3, 8)
        Interval(low=1.0, high=390625.0)
        c��g|]
\}}||z��Sr4r4r:s   rr=z$Interval.__pow__.<locals>.<listcomp>�s2��D�D�D�F�B��r�R�x�D�D�Dr)	r.rArr�numpy�ceilr �floorr!�rWrXrCs   r�__pow__zInterval.__pow__�sr��D�D�� ������&�-�-�/�/�B�B�D�D�D����
�3�s�8�8�,�,�e�k�#�c�(�(�.C�.C�D�D�Drc�D�t|j��pt|j��}t|j��pt|j��}|rtd��n|j|jz}|rtd��n|j|jz}t	||��S)a�
        Combiner for Left shift operation.

        >>> Interval(1, 5) << Interval(3, 8)
        Interval(low=8, high=1280)
        >>> Interval(1, float("inf")) << Interval(3, 8)
        Interval(low=8, high=inf)
        >>> Interval(-float("inf"), 0) << Interval(3, 8)
        Interval(low=-inf, high=0)
        >>> Interval(-3, 1) << Interval(3, float('inf'))
        Interval(low=-24, high=inf)
        r)rr
rr	r)rWrX�min_inf�max_infrYrZs      r�
__lshift__zInterval.__lshift__�s�����
�#�#�8�u�V�Z�'8�'8�����$�$�:��f�k�(:�(:�� '�G��e���}�}�f�j�F�J�.F��&�H�u�U�|�|�|�V�[�F�K�-G����d�#�#�#rc�:�|jdkr|jdkrtS|jdkrtSd�tj|���|�����D��}t
t|��t|����S)a+
        Combiner for Floor divide operation.

        >>> Interval(-1, 5) // Interval(3, 8)
        Interval(low=-1, high=1)
        >>> Interval(-1, 5) // Interval(-5, -4)
        Interval(low=-2, high=0)
        >>> Interval(-1, 5) // Interval(-5, 3)
        Interval(low=-inf, high=inf)
        rc�@�g|]\}}t|��r|n||z��Sr4rHr:s   rr=z)Interval.__floordiv__.<locals>.<listcomp>�sA��D�D�D�6�2�r�U�2�Y�Y�.�r�r�R�2�X�D�D�Dr)	r
rr@r.rArrr r!rds   r�__floordiv__zInterval.__floordiv__�s����:��?�?�v�{�a�/�/� � ��:��?�?� � �D�D�� ������&�-�-�/�/�B�B�D�D�D����C���#�c�(�(�+�+�+rc��|j|jkrtdd��S|j|jkrtdd��Stdd��S)an
        Combiner for lower than operation.

        >>> Interval(-1, 5) < Interval(6, 7)
        Interval(low=1, high=1)
        >>> Interval(-1, 5) < Interval(5, 7)
        Interval(low=0, high=1)

        >>> Interval(-1, 5) < Interval(-16, -7)
        Interval(low=0, high=0)

        >>> Interval(1, 5) < Interval(3, 7)
        Interval(low=0, high=1)

        �r�rr
rr"s  r�__lt__zInterval.__lt__�sL�� �9�u�y� � ��A�q�>�>�!��8�u�z�!�!��A�q�>�>�!���1�~�~�rc��|j|jkrtdd��S|j|jkrtdd��Stdd��S)a{
        Combiner for lower than or equal operation.

        >>> Interval(-1, 5) <= Interval(6, 7)
        Interval(low=1, high=1)
        >>> Interval(-1, 5) <= Interval(5, 7)
        Interval(low=1, high=1)

        >>> Interval(-1, 5) <= Interval(-16, -7)
        Interval(low=0, high=0)

        >>> Interval(1, 5) <= Interval(3, 7)
        Interval(low=0, high=1)

        rnrror"s  r�__le__zInterval.__le__sL�� �9��	�!�!��A�q�>�>�!��8�e�j� � ��A�q�>�>�!���1�~�~�rc��|j|jkrtdd��S|j|jkrtdd��Stdd��S)aq
        Combiner for greater than operation.

        >>> Interval(-5, 1) > Interval(-7, -6)
        Interval(low=1, high=1)
        >>> Interval(-5, 1) > Interval(-7, -5)
        Interval(low=0, high=1)

        >>> Interval(-1, 5) > Interval(6, 7)
        Interval(low=0, high=0)

        >>> Interval(1, 5) > Interval(3, 7)
        Interval(low=0, high=1)

        rnr�r
rrr"s  r�__gt__zInterval.__gt__!sL�� �8�e�j� � ��A�q�>�>�!��9��	�!�!��A�q�>�>�!���1�~�~�rc��|j|jkrtdd��S|j|jkrtdd��Stdd��S)a~
        Combiner for greater than or equal operation.

        >>> Interval(-5, 1) >= Interval(-7, -6)
        Interval(low=1, high=1)
        >>> Interval(-5, 1) >= Interval(-7, -5)
        Interval(low=1, high=1)

        >>> Interval(-1, 5) >= Interval(6, 7)
        Interval(low=0, high=0)

        >>> Interval(1, 5) >= Interval(3, 7)
        Interval(low=0, high=1)

        rnrrtr"s  r�__ge__zInterval.__ge__7sL�� �8�u�z�!�!��A�q�>�>�!��9�u�y� � ��A�q�>�>�!���1�~�~�rc��t|j��rtdd��S|j|jcxkr|jcxkr|jkrnntdd��S||ks||krtdd��Stdd��S)a
        Combiner for equal operation.

        >>> Interval(-5, 1) == Interval(-7, -6)
        Interval(low=0, high=0)
        >>> Interval(-5, 1) == Interval(-7, -5)
        Interval(low=0, high=1)
        >>> Interval(-1, 5) == Interval(6, 7)
        Interval(low=0, high=0)
        rrn�rr
rrr"s  r�__eq__zInterval.__eq__M������?�?�	"��A�q�>�>�!�
�X���
=�
=�
=�
=�e�i�
=�
=�
=�
=�5�:�
=�
=�
=�
=�
=��A�q�>�>�!��U�l�l��u����A�q�>�>�!��A�q�>�>�!rc��t|j��rtdd��S|j|jcxkr|jcxkr|jkrnntdd��S||ks||krtdd��Stdd��S)a"
        Combiner for not equal operation.

        >>> Interval(-5, 1) != Interval(-7, -6)
        Interval(low=1, high=1)
        >>> Interval(-5, 1) != Interval(-7, -5)
        Interval(low=0, high=1)
        >>> Interval(-1, 5) != Interval(6, 7)
        Interval(low=1, high=1)
        rrnryr"s  r�__ne__zInterval.__ne__ar{rc�b�t|j��o|j|jko
|jdkS)Nr)rrr
rs r�__nonzero__zInterval.__nonzero__us.�����#�#�#�O���D�I�(=�O�$�)�a�-�Orc��tSr)r@)r�indexs  r�__getitem__zInterval.__getitem__xs���rN)#�__name__�
__module__�__qualname__�__doc__r�propertyr
rrrrr$r&r(r*rD�__mult__rJ�__truediv__rSrUr[r^rerirlrprrrurwrzr}rr��__bool__r4rrrr	s�������1�1��������X������X��I�I�I�
#�#�#�.�.�.�N�N�N�N�N�N�-�-�-�
#�
#�
#�,�,�,�,�H�,�,�,�6�K�*�*�*�&*�*�*� $�$�$�<	H�	H�	H�
E�
E�
E�$�$�$�&,�,�,�&���,���,���,���,"�"�"�("�"�"�(P�P�P�����H�H�Hrrc�^�eZdZd�Zd�Zd�Zed���Zed���Zd�Z	d�Z
d�Zd	S)
rMc�.�t|��|_dSr)�tuple�values)rr�s  rrzIntervalTuple.__init__�s���F�m�m����rc��t|t��rtStd�t	|j|j��D����S)Nc3�FK�|]\}}|�|��V��dSr)r$�r6r7�ys   rr8z&IntervalTuple.union.<locals>.<genexpr>��H����G�G�D�A�q�Q�W�W�Q�Z�Z�G�G�G�G�G�Gr�rLr�UNKNOWN_TUPLE_RANGErM�zipr�r"s  rr$zIntervalTuple.union��d���e�X�&�&�	'�&�&��G�G�C���8=��5F�5F�G�G�G�G�G�	Grc��t|t��rtStd�t	|j|j��D����S)Nc3�FK�|]\}}|�|��V��dSr)r&r�s   rr8z*IntervalTuple.intersect.<locals>.<genexpr>�sH����K�K���1�Q�[�[��^�^�K�K�K�K�K�Krr�r"s  rr&zIntervalTuple.intersect�sd���e�X�&�&�	'�&�&��K�K��D�K�<A�L�9J�9J�K�K�K�K�K�	Krc��tjSr)r@rrs rrzIntervalTuple.high�s���!�!rc��tjSr)r@r
rs rr
zIntervalTuple.low�s��� � rc�"�d}td|j��}tt|j��dz
|j��}t
||dz��D]2}|�|j|}�|�|j|��}�3|ptS)Nrrn)	r!r
r �lenr�r�ranger$r@)rr��outr
r�is      rr�zIntervalTuple.__getitem__�s������!�U�Y�����3�t�{�#�#�a�'���4�4���s�D�1�H�%�%�	0�	0�A��{��k�!�n����i�i���A��/�/����#�m�#rc��t|t��rtStd�t	|j|j��D����S)Nc3�FK�|]\}}|�|��V��dSr)r*)r6�s�os   rr8z&IntervalTuple.widen.<locals>.<genexpr>�r�rr�r"s  rr*zIntervalTuple.widen�r�rc�r�t|t��rtSt|j|jz��Sr)rLrr�rMr�r"s  rrSzIntervalTuple.__add__�s1���e�X�&�&�	'�&�&��T�[�5�<�7�8�8�8rN)r�r�r�rr$r&r�rr
r�r*rSr4rrrMrM~s�������$�$�$�G�G�G�K�K�K��"�"��X�"��!�!��X�!�	$�	$�	$�G�G�G�9�9�9�9�9rrMrc��t|��dkrtd|dj��St|��dkr&t|dj|dj��St|��dkr�|djdk}|djdk}|r	|rtS|r)t|dj|djdz
��St|dj|djdz
��SdS)zE Function used to compute returned range value of [x]range function. rnr��N)r�rrr
r@)�args�is_neg�is_poss   r�range_valuesr��s���
�4�y�y�A�~�~���4��7�<�(�(�(�	�T���a�����Q���T�!�W�\�2�2�2�	�T���a����a���q����a����!���	;�f�	;� � �
�	;��D��G�K��a����)9�:�:�:��D��G�K��a����)9�:�:�:�
�rc�"�tdd��S)z3 Return the range of a boolean value, i.e. [0, 1]. rrn�r��_s r�bool_valuesr��s���A�q�>�>�rc�"�tdd��S)z7 Return the range of a comparison value, i.e. [-1, 1]. ���rnr�r�s r�
cmp_valuesr��s���B��?�?�rc�<�tdtd����S)z. Return a positive range without upper bound. rr)rr	r�s r�positive_valuesr��s���A�u�U�|�|�$�$�$rc�~�ttd�|D����td�|D������S)z) Return possible range for max function. c3�$K�|]}|jV��dSr�r
r5s  rr8zmax_values.<locals>.<genexpr>��$����,�,�!���,�,�,�,�,�,rc3�$K�|]}|jV��dSr�rr5s  rr8zmax_values.<locals>.<genexpr>��$����1G�1G�Q�!�&�1G�1G�1G�1G�1G�1Gr)rr!�r�s r�
max_valuesr���@���C�,�,�t�,�,�,�,�,�c�1G�1G�$�1G�1G�1G�.G�.G�H�H�Hrc�~�ttd�|D����td�|D������S)z) Return possible range for min function. c3�$K�|]}|jV��dSrr�r5s  rr8zmin_values.<locals>.<genexpr>�r�rc3�$K�|]}|jV��dSrr�r5s  rr8zmin_values.<locals>.<genexpr>�r�r)rr r�s r�
min_valuesr��r�rc�"�tdd��S)z) Return possible range for ord function. r�r�r�s r�
ord_valuesr��s���A�s���r)r��mathrrr.ra�objectrrMr	r@r�r�r�r�r�r�r�r�r4rr�<module>r�sF��9�9�����������������r�r�r�r�r�v�r�r�r�j-9�-9�-9�-9�-9�F�-9�-9�-9�`��%�%��,�,����e���5�5�
�#�m�]�O�4�4��;�;�;�"���
���
%�%�%�
I�I�I�
I�I�I�
����r

Youez - 2016 - github.com/yon3zu
LinuXploit