| 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 : |
�
cR�a� � �j � d Z ddlmZ ddlmZmZ ddlmZ ddlm Z ddl
ZddlZ G d� de� � Z
dS ) z) Replaces **2 by a call to numpy.square. � )�Transformation)�
ASTMatcher�AST_any)�mangle)�isnumNc
� � e Zd ZdZ ej e� � ej � � ej dd� � � � Z ej
ej ej e
d� � ej � � dd� � d ej � � � � e� � ej dd� � gg � � Zd� Zd� Zd� Zd � Zd
� Zd� ZdS )�Squarea�
Replaces **2 by a call to numpy.square.
>>> import gast as ast
>>> from pythran import passmanager, backend
>>> node = ast.parse('a**2')
>>> pm = passmanager.PassManager("test")
>>> _, node = pm.apply(Square, node)
>>> print(pm.dump(backend.Python, node))
import numpy as __pythran_import_numpy
__pythran_import_numpy.square(a)
>>> node = ast.parse('__pythran_import_numpy.power(a,2)')
>>> pm = passmanager.PassManager("test")
>>> _, node = pm.apply(Square, node)
>>> print(pm.dump(backend.Python, node))
import numpy as __pythran_import_numpy
__pythran_import_numpy.square(a)
� N�numpy�powerc �. � t j | � � d S )N)r �__init__)�selfs �>/usr/lib/python3/dist-packages/pythran/optimizations/square.pyr zSquare.__init__) s � ����%�%�%�%�%� c � � dx| _ | _ t j t d� � t j � � d d � � }t j t j |dt j � � � � |gg � � S )NTr �square)�update�need_import�ast�Namer �Load�Call� Attribute)r �value�module_names r �replacezSquare.replace, sc � �)-�-���d�&��h�v�g�����
�
�D�$�G�G���x��
�k�8�S�X�Z�Z�H�H����%� %� %r c �� � d| _ | � |� � | j rTt j dt d� � �� � }t j |g�� � }|j � d|� � |S )NFr )�name�asname)�namesr )r �
generic_visitr �aliasr �Import�body�insert)r �node�import_alias�importIts r �visit_ModulezSquare.visit_Module2 st � � ������4� � � ��� *��9�'�&��/�/�J�J�J�L��z���7�7�7�H��I���Q��)�)�)��r c �$ � |dk rt j dd � � S |dk r|S | � |� � }| � ||dz � � }|dz r9t j |t j � � t
j |� � � � S |S )Nr � )r �Constantr �
expand_pow�BinOp�Mult�copy�deepcopy)r r'