← Back
Editing: immediates.cpython-311.pyc
� cR�a� � �x � d Z ddlZddlmZ ddlmZ ddlmZ ddl m Z mZ e d� � Z G d� d e� � Z dS ) za Immediates gathers immediates. For now, only integers within shape are considered as immediates � N)�MODULES)�Aliases)�NodeAnalysis)�pythran_builtin�isnum� make_shapec �$ � � e Zd Z� fd�Zd� Z� xZS )� Immediatesc � �� t � � | _ t t | � � � t � � d S )N)�set�result�superr �__init__r )�self� __class__s ��=/usr/lib/python3/dist-packages/pythran/analyses/immediates.pyr zImmediates.__init__ s2 �� ��e�e��� �j�$���(�(��1�1�1�1�1� c �� � | j |j }|D ]j}t |dg � � rWt |j � � D ]B\ }}||j v r4t |t j � � r| j � |� � �C�kt |� � dk rNt t |� � � � t u r+| j � d� |j D � � � � d S | � |� � S )N�immediate_arguments� c 3 � K � | ]:}t |� � r)t |j t � � r|j d k �6|V � �;dS )r N)r � isinstance�value�int)�.0�as r � <genexpr>z(Immediates.visit_Call.<locals>.<genexpr> s[ � � � � 1� 1�Q�"'��(�(�1�#-�a�g�s�#;�#;�1� $%�7�a�<�<� !� $0�<�<�<�1� 1r )�aliases�func�getattr� enumerate�argsr r �ast�Constantr �add�len�next�iter�_make_shape�update� generic_visit)r �node�func_aliases�alias�i�args r � visit_CallzImmediates.visit_Call s � ��|�D�I�.��!� 1� 1�E��u�3�R�8�8� 1�'�� �2�2� 1� 1�F�A�s��E�5�5�5�%�c�3�<�8�8� 1� �K�O�O�C�0�0�0����|����!�!�d�4��+=�+=�&>�&>�+�&M�&M��K��� 1� 1�$�)� 1� 1� 1� 1� 1� 1� �F��!�!�$�'�'�'r )�__name__� __module__�__qualname__r r1 � __classcell__)r s @r r r sG �� � � � � �2� 2� 2� 2� 2�(� (� (� (� (� (� (r r )�__doc__�gastr# �pythran.tablesr �pythran.analysesr �pythran.passmanagerr � pythran.utilsr r r) r � r r �<module>r= s� ��� � � � � � "� "� "� "� "� "� $� $� $� $� $� $� ,� ,� ,� ,� ,� ,� 0� 0� 0� 0� 0� 0� 0� 0��o�l�+�+��(� (� (� (� (�� (� (� (� (� (r
Save File
Cancel