403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
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/optimizations/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

cR�ag3��6�dZddlmZddlmZmZddlmZddlm	Z	ddl
ZGd�de��Z
Gd	�d
e
��ZGd�de
��ZGd
�de
��ZGd�de
��ZGd�de��ZGd�de
��ZGd�de
��ZGd�de
��ZGd�de
��ZGd�de
��ZGd�de
��ZGd�d e
��Zd!�e�����D��ZGd"�d#e��ZGd$�d%e��ZdS)&z) Optimization for Python costly pattern. �)�mangle)�Check�Placeholder)�Transformation)�deepcopyNc� �eZdZd�Zd�Zd�ZdS)�Patternc��t|t����|_|j�|j��S�N)r�dict�check�visit�pattern��self�nodes  �I/usr/lib/python3/dist-packages/pythran/optimizations/pattern_transform.py�matchz
Pattern.match
s/���4����(�(��
��z�����-�-�-�c�~�t|jj���|�����Sr)�PlaceholderReplacer
�placeholdersr�sub�rs r�replacezPattern.replaces+��!�$�*�"9�:�:�@�@������L�L�Lrc�>�tt|dg����S)N�
extra_imports)r�getattrrs r�importszPattern.importss�����o�r�:�:�;�;�;rN)�__name__�
__module__�__qualname__rrr�rrr	r	sD������.�.�.�M�M�M�<�<�<�<�<rr	c
�r�eZdZejejejdej��dd��dej�����ejejejdej��dd��dej�����ed��gg���gg���Z	e
d���ZdS)	�
LenSetPattern�builtinsN�len��value�attr�ctx�setr��func�args�keywordsc�0�tjtjtjtjdtj��dd��dtj�����dtj�����td��gg���S)Nr&�pythranr(�len_setrr-��ast�Call�	Attribute�Name�Loadrr#rrrzLenSetPattern.sub's����x����m�#�(�:�s�x�z�z�37��+?�+?�)2���
�
�D�D�D��C�H�J�J�	0�0�0�
�a�.�.�!�B�
0�0�0�	0r�r r!r"r5r6r7r8r9rr�staticmethodrr#rrr%r%s�������c�h�M�C�M�����9A�����9=�t�1E�1E�05�(�#�(�*�*�F�F�F�&�S�X� -��
�%-�S�X�j�(�#�(�*�*�.2�D�&:�&:�$)�x�s�x�z�z�!;�!;�!;�"-��Q��� 0�$&�
(�(�(�)�!#�$�$�$�G��0�0��\�0�0�0rr%c
�r�eZdZejejejdej��dd��dej�����ejejejdej��dd��dej�����ed��gg���gg���Z	e
d���ZdS)	�LenRangePatternr&Nr'r(�rangerr-c
��tjtjtjdtj��dd��dtj�����tjdd��t
d��gg���S)Nr&�maxr(rr-)r5r6r7r8r9�Constantrr#rrrzLenRangePattern.subAsy���x���S�X�j�#�(�*�*�.2�D�&:�&:�$)�s�x�z�z�;�;�;��,�q�$�'�'��Q���8�2�	G�G�G�	Grr:r#rrr=r=2s�������c�h�M�C�M�����9A�����9=�t�1E�1E�05�(�#�(�*�*�F�F�F�&�S�X� -��
�%-�S�X�j�(�#�(�*�*�.2�D�&:�&:�$+������!=�!=�!=�"-��Q��� 0�$&�
(�(�(�)�!#�$�$�$�G��G�G��\�G�G�Grr=c
�r�eZdZejejejdej��dd��dej�����ejejejdej��dd��dej�����ed��gg���gg���Z	e
d���ZdS)	�TupleListPatternr&N�tupler(�listrr-c
���tjtjtjdtj��dd���dtj�����td��gg���S)Nr&��idr+�
annotation�type_commentrDr(rr-r4r#rrrzTupleListPattern.subZss���x���S�X��25�(�*�*�9=�;?�&A�&A�&A�%,�����	=�=�=�
�a�.�.�!�B�
0�0�0�	0rr:r#rrrCrCJs�������c�h�M�C�M�����9A�����9=�t�1E�1E�07�H�C�H�J�J�H�H�H�&�S�X� -��
�%-�S�X�j�.6�c�h�j�j�$��&F�&F�$*����
�
�!<�!<�!<�"-��Q��� 0�$&�
(�(�(�)�!#�$�$�$�G��0�0��\�0�0�0rrCc
��eZdZejejejed��ej��dd���dej�����ejejejdej��dd���dej�����e	d��gg�	��gg�	��Z
ed
���ZdS)�
AbsSqrPattern�numpyNrG�squarer(r&�absrr-c�2�tjtjtjtjdtj��dd���dtj�����dtj�����td��gg���S)Nr&rGr2r(�abssqrrr-r4r#rrrzAbsSqrPattern.subxs����x����m�#�(�j�7:�x�z�z�>B�@D�+F�+F�+F�*3���
�
�	D�D�D�
�3�8�:�:�
/�/�/��a�.�.�!�B�0�0�0�	0r�
r r!r"r5r6r7r8rr9rrr;rr#rrrLrLes&�������c�h�M�C�M����F�F�7�O�O�=E�S�X�Z�Z�DH�FJ�1L�1L�1L�08�X�S�X�Z�Z�	I�I�I�
&�S�X�=�3�=�!)���Z�.6�c�h�j�j�59�7;�"=�"=�"=�!&�'�s�x�z�z�
,+�,+�,+�"-��Q��� 0�$&�(�(�(�)�!#�$�$�$�G� �	0�	0��\�	0�	0�	0rrLc
��eZdZejejejed��ej��dd���dej�����ejejejed��ej��dd���dej�����e	d��gg���gg���Z
dS)	�AbsSqrPatternNumpyrMNrGrNr(rOrr-)r r!r"r5r6r7r8rr9rrr#rrrTrT�s
�������c�h�M�C�M����F�F�7�O�O�=E�S�X�Z�Z�DH�FJ�1L�1L�1L�08�X�S�X�Z�Z�	I�I�I�
&�S�X�=�3�=�!)���V�V�G�_�_�.6�c�h�j�j�59�7;�"=�"=�"=�!&�'�s�x�z�z�
,+�,+�,+�"-��Q��� 0�$&�(�(�(�)�!#�$�$�$�G�G�GrrTc
��eZdZejejejed��ej��dd���dej�����e	d��e	d��gg���Z
ed	���ZdS)
�PowFuncPatternr&NrG�powr(r�r-c��tjtd��tj��td����S)NrrX)r5�BinOpr�Powr#rrrzPowFuncPattern.sub�s(���y��Q�������K��N�N�C�C�CrrRr#rrrVrV�s��������c�h�M�C�M��c�h�&�&��,�,�(�#�(�*�*�"&�$(�*�*�*�����
�
�	$�$�$�
�k�!�n�n�k�k�!�n�n�
-��
���G��D�D��\�D�D�DrrVc���eZdZejed��ej��ejdd����Ze	d���Z
ejejde
d����g��gZdS)�SqrtPatternrg�?Nc
��tjtjtjt	d��tj��dd���dtj�����t
d��gg���S)NrMrG�sqrtr(rr-�r5r6r7r8rr9rr#rrrzSqrtPattern.sub��y���x���S�X�����25�(�*�*�9=�;?�&A�&A�&A�%+���
�
�	<�<�<�
�a�.�.�!�B�
0�0�0�	0rrM�r r!r"r5rZrr[rArr;r�Import�aliasrrr#rrr]r]�s��������c�i���A������	�	�<�3�<��T�3J�3J�K�K�G��0�0��\�0� �S�Z����7�F�F�7�O�O�!D�!D� E�F�F�G�M�M�Mrr]c���eZdZejed��ej��ejdd����Ze	d���Z
ejejde
d����g��gZdS)�CbrtPatternrgUUUUUU�?Nc
��tjtjtjt	d��tj��dd���dtj�����t
d��gg���S)NrMrG�cbrtr(rr-r`r#rrrzCbrtPattern.sub�rarrMrbr#rrrfrf�s��������c�i���A������	�	�<�3�<��t�3L�3L�M�M�G��0�0��\�0� �S�Z����7�F�F�7�O�O�!D�!D� E�F�F�G�M�M�Mrrfc
��eZdZejejejdej��dd���dej�����eje	d��ej����gg���Z
ed���ZdS)	�TuplePatternr&NrGrDr(rr-c�h�tjtd��tj����S)Nr)r5�Tuplerr9r#rrrzTuplePattern.sub�s ���y��Q�������4�4�4r)
r r!r"r5r6r7r8r9�Listrrr;rr#rrrjrj�s��������c�h�M�C�M����J�=E�S�X�Z�Z�DH�FJ�1L�1L�1L�07�H�C�H�J�J�	H�H�H�
&�S�X�k�k�!�n�n�h�c�h�j�j�A�A�B� "�
$�$�$�G��5�5��\�5�5�5rrjc
�v�eZdZejejejdej��dd���dej�����ejejejdej��dd���dej�����ed��gg���gg���Z	e
d	���ZdS)
�ReversedRangePatternr&NrG�reversedr(r>rr-c��tjtjtjdtj��dd���dtj�����tjt
d��tj��tjdd�����tjdd��tjdd��gg�	��S)
Nr&rGr>r(rrX��left�op�right���r-)	r5r6r7r8r9rZr�SubrAr#rrrzReversedRangePattern.sub�s����x���S�X��25�(�*�*��;?�&A�&A�&A�%,�����=�=�=��)��Q���C�G�I�I�"%�,�q�$�"7�"7�9�9�9��,�r�4�(�(��,�r�4�(�(�*��	�	�	�		rr:r#rrroro�s �������c�h�M�C�M����J�=E�S�X�Z�Z�DH�FJ�1L�1L�1L�0:�x�s�x�z�z�	K�K�K�
&�S�X� -��
�%-�S�X��2:�#�(�*�*��;?�&A�&A�&A�%,������	!=�!=�!=�
"-��Q��� 0�$&�(�(�(�)�!#�
$�
$�
$�G��
�
��\�
�
�
rroc��eZdZejed��ej��ed�����Zed���Z	dS)�
SqrPatternrrrc��tjtd��tj��tjdd�����S)Nr�rr)r5rZrr[rAr#rrrzSqrPattern.subs:���y�k�!�n�n�����"�|�A�t�4�4�6�6�6�	6rN)
r r!r"r5rZr�Multrr;rr#rrryry�sg�������c�i�[�[��^�^�#�3�8�:�:�)�k�!�n�n�.�.�.�G��6�6��\�6�6�6rryc��eZdZejejed��ej��ejede��d�����ej��ed�����Z	e
d���ZdS)�StrJoinPatternrrXNrrr{c���tjtjtjtjdtj��dd��dtj����dtj����tjt
d��d��tjt
d��t
d��gtj����gg���S)Nr&�str�joinrXrr{r-)r5r6r7r8r9rArrlr#rrrzStrJoinPattern.subs����x�S�]��M����S�X�Z�Z��t�<�<����
�
�
�
�
�C�H�J�J� � ��,�{�1�~�~�t�4�4��)�[��^�^�[��^�^�<�c�h�j�j�I�I�K�����	r)r r!r"r5rZr�AddrAr�rr;rr#rrr~r~s��������c�i�Y�S�Y�K�K��N�N�*1�#�'�)�)�-9�S�\�+�+�a��:M�:M�:>�.@�.@�A�A�A�#�3�7�9�9�)�k�!�n�n�.�.�.�G��	�	��\�	�	�	rr~c�2�g|]}t|d���|��S)r)�hasattr)�.0�xs  r�
<listcomp>r�s'��G�G�G�a���I�1F�1F�G��G�G�Grc�,��eZdZdZ�fd�Z�fd�Z�xZS)rzB Helper class to replace the placeholder once value is collected. c�d��||_tt|�����dS)z% Store placeholders value collected. N)r�superr�__init__)rr�	__class__s  �rr�zPlaceholderReplace.__init__%s.���(���
� �$�'�'�0�0�2�2�2�2�2rc���t|t��r|j|jSt	t
|���|��S)z3 Replace the placeholder if it is one or continue. )�
isinstancerrrHr�rr)rrr�s  �rrzPlaceholderReplace.visit*sD����d�K�(�(�	?��$�T�W�-�-��+�T�2�2�8�8��>�>�>r)r r!r"�__doc__r�r�
__classcell__�r�s@rrr!sW�������L�L�3�3�3�3�3�
?�?�?�?�?�?�?�?�?rrc�2��eZdZdZ�fd�Zd�Z�fd�Z�xZS)�PatternTransformzr
    Replace all known pattern by pythran function call.

    Based on BaseMatcher to search correct pattern.
    c�V��tt|�����dS)z8 Initialize the Basematcher to search for placeholders. N)r�r�r�)rr�s �rr�zPatternTransform.__init__:s&���
���%�%�.�.�0�0�0�0�0rc�f�g|_|�|��|j|jz|_|Sr)r�
generic_visit�bodyrs  r�visit_ModulezPatternTransform.visit_Module>s4��������4� � � ��&���2��	��rc�4��tD]h}|��}|�|��rG|j�|�����|���}d|_�itt|���	|��S)z? Try to replace if node match the given pattern or keep going. T)
�know_patternrr�extendrr�updater�r�r)rrr�matcherr�s    �rrzPatternTransform.visitDs����#�	#�	#�G��g�i�i�G��}�}�T�"�"�
#��"�)�)�'�/�/�*;�*;�<�<�<����(�(��"�����%�t�,�,�2�2�4�8�8�8r)r r!r"r�r�r�rr�r�s@rr�r�2sj���������1�1�1�1�1����	9�	9�	9�	9�	9�	9�	9�	9�	9rr�)r��pythran.conversionr�pythran.analysesrr�pythran.passmanagerr�copyr�gastr5�objectr	r%r=rCrLrTrVr]rfrjroryr~�globals�valuesr�rr�r#rr�<module>r�s/��/�/�%�%�%�%�%�%�/�/�/�/�/�/�/�/�.�.�.�.�.�.�����������
<�
<�
<�
<�
<�f�
<�
<�
<�0�0�0�0�0�G�0�0�0�4G�G�G�G�G�g�G�G�G�00�0�0�0�0�w�0�0�0�60�0�0�0�0�G�0�0�0�@$�$�$�$�$��$�$�$�(
D�
D�
D�
D�
D�W�
D�
D�
D� H�H�H�H�H�'�H�H�H�$H�H�H�H�H�'�H�H�H�"5�5�5�5�5�7�5�5�5������7����B	6�	6�	6�	6�	6��	6�	6�	6������W����,H�G�7�7�9�9�+�+�-�-�G�G�G��?�?�?�?�?��?�?�?�"9�9�9�9�9�~�9�9�9�9�9r

Youez - 2016 - github.com/yon3zu
LinuXploit