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__/openmp.cpython-311.pyc
�

cR�a���dZddlmZddlmZddlmZddlmZddl	m
Z
ddl	ZddlZd�eD��Z
hd�Zhd	�Zhd
�ZGd�de
��ZGd
�de��ZdS)z�
This modules contains OpenMP-related stuff.
    * OMPDirective is used to represent OpenMP annotations in the AST
    * GatherOMPData turns OpenMP-like string annotations into metadata
�)�TransformationN)�PYTYPE_TO_CTYPE_TABLE)�isstr)�ASTc��i|]
}|j|��S�)�__name__)�.0�ts  �0/usr/lib/python3/dist-packages/pythran/openmp.py�
<dictcomp>r
s��:�:�:�q�Q�Z��:�:�:�>)�if�for�omp�none�read�simd�task�final�flush�write�atomic�cancel�copyin�master�nowait�shared�single�untied�update�barrier�capture�declare�default�ordered�private�section�collapse�critical�parallel�schedule�sections�taskwait�	mergeable�	reduction�	taskyield�copyprivate�initializer�lastprivate�num_threads�firstprivate�
threadprivate>�omp_in�omp_out�omp_init�omp_orig�omp_priv>r$r%r*r,r0c�"��eZdZdZ�fd�Z�xZS)�OMPDirectiveaXTurn a string into a context-dependent metadata.
    >>> o = OMPDirective("omp for private(a,b) shared(c)")
    >>> o.s
    'omp for private({},{}) shared({})'
    >>> [ type(dep) for dep in o.deps ]
    [<class 'gast.gast.Name'>, <class 'gast.gast.Name'>, <class 'gast.gast.Name'>]
    >>> [ dep.id for dep in o.deps ]
    ['a', 'b', 'c']
    c�����tt������|sdSg�_g�_g�_�fd�}||d���_d�_dS)Nc����d}d}d}d}d}dx}}|t|��k�r�tjd||d���}|�r)|�d��}	|t|	��z
}|	tvr|t
t|	z
}�n<|s|r	|	tvs|dkr3|	tvr*||	z
}|	tv}||	dkz}||	dkz}||	dkz}n�d	}
�j	�
tj|	tj
��dd����|r%�j�
�j	d
��|r%�j�
�j	d
��||
z
}n`||dkr|dz
}|dz
}|dz
}nD||d
kr|dz}|dz
}|d
z
}|dkrd}dx}}n||dvrd}|||z
}|dz
}|t|��k���|S)z1A simple contextual "parser" for an OpenMP string�rFz^([a-zA-Z_]\w*)Nr$r'rz{}����(��)z,:)�len�re�match�group�	typenamesr�declare_keywords�keywords�reserved_contex�deps�append�ast�Name�Load�private_deps�shared_deps)�s�out�	par_count�
curr_index�in_reserved_context�
in_declare�	in_shared�
in_private�m�word�v�selfs           �r�tokenizez'OMPDirective.__init__.<locals>.tokenizedsY����C��I��J�"'���J�%*�*�I�
��s�1�v�v�%�%��H�/��:�;�;��@�@���%$��7�7�1�:�:�D��#�d�)�)�+�J��y�(�(��4�Y�t�_�E�E���,�!�$�!�)-�1A�)A�)A�#�q�.�.�T�X�-=�-=��t���.2�o�.E�+�"�d�i�&7�7�
�"�d�i�&7�7�
�!�T�X�%5�5�	�	� ���	�(�(���$���
�
�26��*>�*>�?�?�?�%�D� �-�4�4�T�Y�r�]�C�C�C�$�C� �,�3�3�D�I�b�M�B�B�B��q�����z�]�c�)�)���N�I��!�O�J��3�J�C�C��z�]�c�)�)���N�I��!�O�J��3�J�C� �A�~�~�.3�+�16�6�	�J����}��,�,�.3�+��1�Z�=�(�C��!�O�J�O�s�1�v�v�%�%�P�Jrr)rNrTrS)�superr>�__init__rNrSrTrU�_fields)r`�argsra�	__class__s`  �rrczOMPDirective.__init__[s�����
�l�D�!�!�*�*�,�,�,��	��F���	�������1	�1	�1	�1	�1	�f��$�q�'�"�"���>����r)r	�
__module__�__qualname__�__doc__rc�
__classcell__)rfs@rr>r>OsB�������	�	�=?�=?�=?�=?�=?�=?�=?�=?�=?rr>c�8�eZdZdZdZdZd�Zd�Zd�Zd�Z	d�Z
d	S)
�
GatherOMPDatazEWalks node and collect string comments looking for OpenMP directives.)�FunctionDef�Return�Delete�Assign�	AugAssign�Print�For�While�Raise�	TryExcept�
TryFinally�Assert�Import�
ImportFrom�Pass�Break)�body�orelse�	finalbodyc��tj|��tjD]}t	|d|z|j���t
��|_dS)N�visit_)rrcrl�
statements�setattr�attach_data�list�current)r`rUs  rrczGatherOMPData.__init__�sP�����%�%�%��)�	:�	:�A��D�(�Q�,��(8�9�9�9�9��v�v����rc�T�t|��o|j�d��S)Nzomp )r�value�
startswith�r`�nodes  r�isompdirectivezGatherOMPData.isompdirective�s#���T�{�{�<�t�z�4�4�V�<�<�<rc��|�|j��r&|j�|jj��dS|�|��|S�N)r�r�r�rOr�r�s  r�
visit_ExprzGatherOMPData.visit_Expr�sS�����t�z�*�*�	��L����
� 0�1�1�1��4����T�"�"�"��Krc�D�|�|j��rr|�tj|j����|�tjtjdd��|j|j����S|�	|��S)NrD)
r��test�visitrP�Expr�If�Constantr}r~r�r�s  r�visit_IfzGatherOMPData.visit_If�s������t�y�)�)�	*��J�J�s�x��	�*�*�+�+�+��:�:�c�f�S�\�!�T�%:�%:�%)�Y���=�=�>�>�
>��#�#�D�)�)�)rc����|jrA|jD]&}t|��}tj||���'t	��|_tj|��D]{\}}|tjvrh|rft|dt
j
��rF|�|dj��r&|�
tj�����||�|��tj|t��}d�tj|��D��}|�tj��}|r�|r�d�d�|D�����d}	t'�fd�|	D����r^tj|t��tjtjdd��|gg��}|D]}
tj||
���|S)	zcGeneric method called for visit_XXXX() with XXXX in
        GatherOMPData.statements list

        rBc��h|]\}}|��Srr)r
�n�_s   r�	<setcomp>z,GatherOMPData.attach_data.<locals>.<setcomp>�s��;�;�;�T�Q��q�;�;�;rrAc3�$K�|]}|jV��dSr�)rU)r
�ds  r�	<genexpr>z,GatherOMPData.attach_data.<locals>.<genexpr>�s$���� 9� 9���� 9� 9� 9� 9� 9� 9r)r+rr(c3� �K�|]}|�vV��	dSr�r)r
rU�
sdirectives  �rr�z,GatherOMPData.attach_data.<locals>.<genexpr>�s'�����4�4�q�1�
�?�4�4�4�4�4�4rrDN)r�r>�metadata�addr�rP�iter_fieldsrl�statement_lists�
isinstancer�r�r�rOr{�
generic_visit�get�
isdisjoint�join�any�clearr�r�)r`r��curr�md�
field_name�field�
directives�field_names�has_no_scope�scoping�	directiver�s           @rr�zGatherOMPData.attach_data�s����
�<�	"���
'�
'��!�$�'�'����T�2�&�&�&�&��6�6�D�L�!$���!6�!6�	-�	-��J���]�:�:�:��-��e�B�i���2�2�-��&�&�u�R�y��7�7�-��L�L�����,�,�,�����4� � � ��\�$��5�5�
�;�;�S�_�T�%:�%:�;�;�;��"�-�-�m�.K�L�L���		2�,�		2���� 9� 9�j� 9� 9� 9�9�9�J�5�G��4�4�4�4�G�4�4�4�4�4�
2���t�\�2�2�2��v�c�l�1�d�3�3�d�V�R�@�@��!+�2�2�I��L��y�1�1�1�1��rN)r	rgrhrir�r�rcr�r�r�r�rrrrlrl�st������O�O�F�J�
7�O����=�=�=����*�*�*�"�"�"�"�"rrl)ri�pythran.passmanagerr�pythran.metadatar��pythran.types.conversionr�
pythran.utilsr�gastrrPrGrJrLrKrMr>rlrrr�<module>r�s:����/�.�.�.�.�.�#�#�#�#�#�#�:�:�:�:�:�:�����������������	�	�	�	�:�:�$9�:�:�:�	�*�*�*��X��������I?�I?�I?�I?�I?�3�I?�I?�I?�ZG�G�G�G�G�N�G�G�G�G�Gr

Youez - 2016 - github.com/yon3zu
LinuXploit