403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/numpy/f2py/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/numpy/f2py/__pycache__/auxfuncs.cpython-312.pyc
�

	�gtm��X�dZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl	m
Z
gd�ZejZ
ejZiZgZdZd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(d �Z)d!�Z*d"�Z+d#�Z,d$�Z-d%�Z.d&�Z/d'�Z0d(�Z1d)�Z2d*�Z3d+�Z4d,�Z5d-�Z6d.�Z7d/�Z8d0�Z9d1�Z:d2�Z;d3�Z<d4�Z=d5�Z>d6�Z?d7�Z@d8�ZAd9�ZBd:�ZCd;�ZDd<�ZEd=�ZFd>�ZGd?�ZHd@�ZIdA�ZJdB�ZKdC�ZLdD�ZMdE�ZNdF�ZOdG�ZPdH�ZQdI�ZRdJ�ZSdK�ZTdL�ZUdM�ZVdN�ZWdO�ZXdP�ZYdQ�ZZdR�Z[dS�Z\dT�Z]dU�Z^dV�Z_eQdWeRdXeSdYeTdZeWd[eVd\eLd]e[d^e]d_e^d`e_daiZ`db�Zadc�Zbdd�Zcde�Zddf�Zedg�Zfdh�Zgdi�Zhdj�Zidk�Zjdl�Zkdm�Zldn�ZmGdo�dpen�ZoGdq�dr�Zpds�Zqdt�Zrdu�Zsdv�Ztdw�Zud�dx�Zvdy�Zwifdz�Zxd{�Zyd|�Zzd}�Z{d~�Z|d�Z}d��Z~d��Zd��Z�d��Z�d�d��Z�d��Z�ifd��Z�e�j
d�e�j��jZ�e�j
d�e�j��jZ�d��Z�d��Z�d�d��Z�y)�a9
Auxiliary functions for f2py2e.

Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
Permission to use, modify, and distribute this software is given under the
terms of the NumPy (BSD style) LICENSE.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
�N)�reduce�)�__version__)�cfuncs)�errmess)_�
applyrules�	debugcapi�
dictappendr�gentitle�getargs2�getcallprotoargument�getcallstatement�getfortranname�getpymethoddef�
getrestdoc�getusercode�getusercode1�getdimension�hasbody�hascallstatement�	hascommon�hasexternals�hasinitvalue�hasnote�
hasresultnote�
isallocatable�isarray�isarrayofstrings�ischaracter�ischaracterarray�ischaracter_or_characterarray�	iscomplex�iscstyledirective�iscomplexarray�iscomplexfunction�iscomplexfunction_warn�isdouble�isdummyroutine�
isexternal�
isfunction�isfunction_wrap�isint1�isint1array�	isinteger�isintent_aux�
isintent_c�isintent_callback�
isintent_copy�
isintent_dict�
isintent_hide�isintent_in�isintent_inout�isintent_inplace�isintent_nothide�isintent_out�isintent_overwrite�	islogical�islogicalfunction�islong_complex�
islong_double�islong_doublefunction�islong_long�islong_longfunction�ismodule�ismoduleroutine�
isoptional�	isprivate�
isvariable�
isrequired�	isroutine�isscalar�issigned_long_longarray�isstring�
isstringarray�isstring_or_stringarray�isstringfunction�issubroutine�get_f2py_modulename�issubroutine_wrap�isthreadsafe�
isunsigned�isunsigned_char�isunsigned_chararray�isunsigned_long_long�isunsigned_long_longarray�isunsigned_short�isunsigned_shortarray�l_and�l_not�l_or�outmess�replace�show�
stripcomma�throw_error�isattr_value�getuseblocks�process_f2cmap_dict�containscommonc�p�tjdd�r tjj	|�yy)N�verboser)�options�get�sys�stdout�write)�ts �5C:\Python312\Lib\site-packages\numpy/f2py/auxfuncs.pyr]r]<s'���{�{�9�a� ��
�
�����!�c��dtvS)N�capi)�debugoptions��vars rnr	r	As
���\�!�!roc�:�d|vxr|ddk(xrt|�S�N�typespec�	character�r)rss rn�_ischaracterrzE�.�������Z��K�!?���#���roc�:�d|vxr|ddk(xrt|�Srvryrss rn�	_isstringr}Jr{roc�$�t|�xrd|vS�N�charselector�rzrss rnr!r!Os�����:��s�!:�:roc�4�t|�xrt|�S�N�r!rrss rnrrSs��(��-�B�g�c�l�2B�Broc�2�t|�xrt|�Sr�r�rss rnr r Ws��(��-�>�'�#�,�>roc�$�t|�xrd|vSrr�rss rnrMrM[s�����6��3�!6�6roc�4�t|�xrt|�Sr��rMrrss rnrKrK_s��"�3�'�<����,<�<roc�2�t|�xrt|�Sr�r�rss rnrLrLcs��"�3�'�8�G�C�L�8roc�2�t|�xr|dddk(S)N�	dimension���z(*))rLrss rnrrgs#�����?�#�k�"2�2�"6�%�"?�?roc�&�d|vxrt|�S�Nr�ryrss rnrrms���#��5�j��o�"5�5roc�N�t|�xst|�xst|�Sr�)rrKr)rss rnrIrIqs!�����@���
�@��C��A�Aroc�B�t|�xr|jd�dvS�Nrw)�complexzdouble complex�rIrirss rnr"r"us'���C�=�@��7�7�:��"?�?�@roc�D�t|�xr|jd�dk(S)Nrw�logicalr�rss rnr;r;z����C�=�=�S�W�W�Z�0�I�=�=roc�D�t|�xr|jd�dk(S)Nrw�integerr�rss rnr.r.~r�roc�D�t|�xr|jd�dk(S)Nrw�realr�rss rn�isrealr��s���C�=�:�S�W�W�Z�0�F�:�:roc�d�	|ddS#t$r	|ddcYS#t$rYYywxYwwxYw)N�kindselector�*�kind��KeyErrorrss rn�get_kindr��sM����>�"�3�'�'����	��~�&�v�.�.���	��	���s �
�	/��/�	+�/�+�/c�f�|jd�dk(xrt|�dk(xrt|�S�Nrwr��1)rir�rrss rnr,r,�s8���7�7�:��)�+�6��S�M�S� �6�)0���%5�6roc�^�t|�sy|jd�dvryt|�dk(S)Nrrw�r�r��8�rIrir�rss rnr@r@�s0���C�=��
�w�w�z��"8�8���C�=�C��roc�`�t|�sy|jd�dk7ryt|�dk(S)Nrrwr��-1r�rss rnrTrT��/���C�=��
�w�w�z��i�'���C�=�D� � roc�`�t|�sy|jd�dk7ryt|�dk(S)Nrrwr��-2r�rss rnrXrX�r�roc�`�t|�sy|jd�dk7ryt|�dk(S)Nrrwr��-4r�rss rnrSrS�r�roc�`�t|�sy|jd�dk7ryt|�dk(S)Nrrwr��-8r�rss rnrVrV�r�roc�`�t|�sy|jd�dk(syt|�dk(S)Nrrwr�r�r�rss rnr'r'�s/���C�=���7�7�:��&�(���C�=�C��roc�`�t|�sy|jd�dk(syt|�dk(S)Nrrwr��16r�rss rnr>r>�s/���C�=���7�7�:��&�(���C�=�D� � roc�6�t|�syt|�dk(S)Nr�32)r"r�rss rnr=r=�s���S�>���C�=�D� � roc�B�t|�xr|jd�dvSr�)rrirss rnr$r$�s'���3�<�@��7�7�:��"?�?�@roc�d�t|�xr$|jd�dk(xrt|�dk(Sr��rrir�rss rnr-r-�s4���3�<�!�C�G�G�J�/�9�<�!��S�M�S� �!roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr�r�r�rss rnrUrU��5���3�<�"�C�G�G�J�/�3I�I�"��S�M�T�!�"roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr�r�r�rss rnrYrY�r�roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr�r�r�rss rn�isunsignedarrayr��r�roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr�r�r�rss rnrWrW�r�roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr�r�r�rss rn�issigned_chararrayr���5���3�<�!�C�G�G�J�/�3I�I�!��S�M�S� �!roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr��2r�rss rn�issigned_shortarrayr��r�roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr��4r�rss rn�issigned_arrayr��r�roc�b�t|�xr#|jd�dvxrt|�dk(S)Nrwr�r�r�rss rnrJrJr�roc��d|vxrd|dvS)N�attrspec�allocatable�rss rnrrs�����A��#�j�/�!A�Aroc�&�d|vxst|�Sr�)rKrss rn�	ismutabler�	s���3�&�7�(�3�-�8�8roc�
�d|vS)N�
modulenamer���routs rnrCrC
s
���4��roc��d|vxrd|dk(S)N�block�moduler�r�s rnrBrBs���d�?�8�x�4��=�8�8roc��d|vxrd|dk(S)Nr��functionr�r�s rnr*r*s���d�?�:�z�T�'�]�:�:roc�\�t|�rytxrt|�xrt|�S�Nr)r0�	wrapfuncsr*r)r�s rnr+r+s*���$����D��D�)�D�:�d�3C�/C�Droc��d|vxrd|dk(S)Nr��
subroutiner�r�s rnrOrOs���d�?�<�|�t�G�}�<�<roc�J�t|�ryt|�xrt|�Sr�)r0rO�hasassumedshaper�s rnrQrQ#s"���$������7�/�$�"7�7roc�*�d|jdg�vS)N�valuer��rirss rnrbrb(s���c�g�g�j�"�-�-�-roc��|jd�ry|dD]9}|dj|i�jdg�D]}|dk(s�	d|d<y�;y)Nr�T�args�varsr��:Fr�)r��a�ds   rnr�r�,sl���x�x�!�"��
�&�\����f��!�!�!�R�(�,�,�[�"�=�	�A��C�x�*.��&�'��	��
roc�2�t|�xst|�Sr�)rCr�r�s rn�requiresf90wrapperr�7s���4� �9�O�D�$9�9roc�2�t|�xst|�Sr�)r*rOr�s rnrHrH;s���d��1�|�D�1�1roc�j�t|�syd|vr|d}n|d}||dvrt|d|�Sy�Nr�result�namer�)r*r;�r�r�s  rnr<r<?�I���d����4����N����L���D��L����f��a��)�)�roc�j�t|�syd|vr|d}n|d}||dvrt|d|�Syr�)r*r@r�s  rnrArAKsI���d����4����N����L���D��L���4��<��?�+�+�roc�j�t|�syd|vr|d}n|d}||dvrt|d|�Syr�)r*r>r�s  rnr?r?WsI���d����4����N����L���D��L���T�&�\�!�_�-�-�roc�j�t|�syd|vr|d}n|d}||dvrt|d|�Syr�)r*r"r�s  rnr%r%cr�roc�2�t|�rtd�yy)Na�    **************************************************************
        Warning: code with a function returning complex value
        may not work correctly with your Fortran compiler.
        When using GNU gcc/g77 compilers, codes should work
        correctly for callbacks with:
        f2py -c -DF2PY_CB_RETURNCOMPLEX
    **************************************************************
rr)r%r]r�s rnr&r&os!������H�	I��roc�j�t|�syd|vr|d}n|d}||dvrt|d|�Syr�)r*rKr�s  rnrNrN}sI���d����4����N����L���D��L����V��Q��(�(�roc��d|vxr|dS)N�	externalsr�r�s rnrr�s���$��4�4��#4�4roc��d|vxrd|dvS)N�f2pyenhancements�
threadsafer�r�s rnrRrR�s"����%�4��4� 2�3�3�4roc��d|vxr|dS)Nr�r�r�s rn�hasvariablesr��s���T�>�*�d�6�l�*roc�H�d|vxrd|dvxrd|dvxrt|�S)Nr��optional�required)r8rss rnrDrD�s?���#��
.�*��J��"?�
.��c�*�o�-�I�3C�C�3H�Iroc��d|vxrd|dvS)Nr��externalr�rss rnr)r)�s�����>��s�:��!>�>roc��d}d|j�vr@td�|dD��r*|dD�cgc]}tj||���c}dSyycc}w)Nz	\((.*?)\)r�c3�$K�|]}d|v���
y�w)r�Nr�)�.0�ss  rn�	<genexpr>zgetdimension.<locals>.<genexpr>�s����9�A�{�a��9�s�r)�keys�any�re�findall)rt�
dimpattern�vs   rnrr�sY���J��S�X�X�Z���9��Z��9�9�7:�:��G�!�B�J�J�z�1�-�G��J�J�:� ��Gs�Ac�4�t|�xrt|�Sr�)rDr8rss rnrGrG�s���#���8�#3�C�#8�8roc�4��hd�}t�fd�|D��S)N>�pymethoddef�
callstatement�callprotoargumentc3�B�K�|]}|�j�v���y�wr�)�lower)r�	directive�	f2py_lines  �rnrz$iscstyledirective.<locals>.<genexpr>�s�����J�)�y�I�O�O�-�-�J�s�)r
)r�
directivess` rnr#r#�s���F�J��J�z�J�J�Jroc�n�d|vryd|dvryd|dvryd|dvryd|dvryd|dvryd	|dvryy)
N�intentr�hider�inplace�in�out�inout�outinr�rss rnr5r5�sj���s���
��X�����C��M�!���s�8�}�����H�
����#�h�-����#�h�-���roc�d�d|vxr+d|dvxsd|dvxrd|dvxrd|dvxrd|dvS)Nrrr rrrr�rss rnr6r6�sg����O�
K��C��M�!9�"%��s�8�}�$�
K�*.�c�(�m�*C�
K��#�h�-�'�
K�,5�S��]�,J�Lroc�*�d|jdg�vS)Nrrr�rss rnr9r9�����C�G�G�H�b�)�)�)roc�z�d|vxr6d|dvxs-d|dvxr$d|dvxrttt�|�S)Nrrrr)r\r6r7rss rnr4r4�s^����O�
D��3�x�=�!8�"C�
�c�(�m�
#�B��C��M�(A�B�;�T�.�*:�;�C�@�@�Eroc��t|�Sr�)r4rss rnr8r8�s���S�!�!�!roc�*�d|jdg�vS)N�crr�rss rnr0r0�s���#�'�'�(�B�'�'�'roc�*�d|jdg�vS)N�cacherr�rss rn�isintent_cacher*�s���c�g�g�h��+�+�+roc�*�d|jdg�vS)N�copyrr�rss rnr2r2�s���S�W�W�X�r�*�*�*roc�*�d|jdg�vS)N�	overwriterr�rss rnr:r:�����#�'�'�(�B�/�/�/roc�*�d|jdg�vS)N�callbackrr�rss rnr1r1���������2�.�.�.roc�*�d|jdg�vS)Nrrr�rss rnr7r7�s�������"�-�-�-roc�*�d|jdg�vS)N�auxrr�rss rnr/r/�r#roc�*�d|jdg�vS)N�aligned4rr�rss rn�isintent_aligned4r8�r2roc�*�d|jdg�vS)N�aligned8rr�rss rn�isintent_aligned8r;�r2roc�*�d|jdg�vS)N�	aligned16rr�rss rn�isintent_aligned16r>�r/ro�	INTENT_IN�INTENT_INOUT�
INTENT_OUT�INTENT_HIDE�INTENT_CACHE�INTENT_C�OPTIONAL�INTENT_INPLACE�INTENT_ALIGNED4�INTENT_ALIGNED8�INTENT_ALIGNED16c��d|vxrd|dvS)Nr��privater�rss rnrErEs�����=��c�*�o�!=�=roc�J�t|�dk(rd|vr|dddvrd}|Sd}|S)Nrr�r)�publicrKFT��len)rt�is_vars  rnrFrFs>��
�3�x�1�}��s�*��
�O�A��"7�7����M����Mroc�
�d|vS)N�=r�rss rnrrs���#�:�roc�.�t|�sy|dddvS)NrrR)�"�')rrss rn�hasinitvalueasstringrVs �������s�8�A�;�*�$�$roc�
�d|vS)N�noter�rss rnrrs���S�=�roc�j�t|�syd|vr|d}n|d}||dvrt|d|�Syr�)r*rr�s  rnrr#sI���d����4����N����L���D��L���t�F�|�A��'�'�roc�
�d|vS)N�commonr�r�s rnrr/s
���t��roc�`�t|�ryt|�r|dD]}t|�s�yy)Nr�bodyr)rrre)r��bs  rnrere3s6�������t�}��f��	�A��a� ��	�
roc�b�t|�ryt|�sy|dD]}t|�s�yy)Nrrr])rBr�containsmodule)r�r^s  rnr`r`=s9�������5�>��
�6�]����!����
roc�
�d|vS)Nr]r�r�s rnrrHs���T�>�roc��t|�duSr�)rr�s rnrrLs���D�!��-�-roc��y)Nrr�rss rn�istruerdP���roc��yr�r�rss rn�isfalsergTreroc��eZdZy)�	F2PYErrorN)�__name__�
__module__�__qualname__r�rornririXs��roric��eZdZd�Zd�Zy)rac��||_yr�)�mess)�selfros  rn�__init__zthrow_error.__init__^s	����	roc�>�d|�d|j�d�}t|��)Nz


  var = z
  Message: �
)rori)rprtros   rn�__call__zthrow_error.__call__as��47����C����o�roN)rjrkrlrqrtr�rornrara\s���rorac��dg}}tt|��D]}d|||fz}|jd|z�� t|�ddj	|����S)N�lambda v�%s,f%d=f[%d]�f%d(v)r�z and ��rangerO�append�eval�join��f�l1�l2�is    rnrZrZfs]��
���B�
�3�q�6�]�"��
�r�1�a�j�
(��
�	�	�(�a�.�!�"��2�w�|�|�B�/�0�1�1roc��dg}}tt|��D]}d|||fz}|jd|z�� t|�ddj	|����S)Nrvrwrxr�z or ryr~s    rnr\r\ns\��
���B�
�3�q�6�]�"��
�r�1�a�j�
(��
�	�	�(�a�.�!�"��2�v�{�{�2��/�0�0roc��td�S)Nzlambda v,f=f:not f(v))r|)rs rnr[r[vs���'�(�(roc�8�	|dddk(S#t$rYywxYw)Nr��fortranname�rr�r�s rnr(r(zs/����&�'�
�6�"�<�<������s�

�	�c��	|dd}|dk(rt�|std|dz�t�	|S#t$r	|d}Y|SwxYw)Nr�r�r�z"Failed to use fortranname from %s
r�)r�r)r�r�s  rnrr�so��	��&�'�
�6���2�:��N���9��,�-�/�
0��N���K�����F�|���K��s�,1�A�Ac��	|dj|�}|sy|dkDrt|t�ryt|t�r|t|�k\ry||}|dddk(ri|rd|zdzt
|�zdz|ddz}n|dd}|dddk(r"|r|ddd	zt
|�zd
z}|S|dd}|St|�dt
|��d��|S#t$rYywxYw)
Nr�r�z'''z
	/* start z multiline (z) */
���z
	/* end multiline (z)*/z( multiline block should end with `'''`: rs)rir��
isinstance�str�listrO�reprr)r��	blockname�comment�counter�rs     rn�getmultilineblockr��s'����#�$�(�(��3��
����{�z�!�S�)���!�T���c�!�f���
�g�J����!�u��~���	�)���!%�g��/�19�:�<=�a�b�E�B�A��!�"��A��R�S�6�U�?���c�r�F�5�5��W�
�E��M��
�H�	�c�r�F��
�H�
� �$�q�'�+�
,��H��1����s�C�	C�Cc��t|d�S)Nr�r�r�s rnrr�s���T�?�3�3roc	�~�t|dd��}|r|St|�rtd�yddlm}gg}}tttt��|�r|jddg�|d	D]�}|d
|}t|�r�||vr	||dz}n||�}ttttt��|�rnt|�rnt!|�s|dz}t|�st#|�st%|�r|j'd�|j'|���d
j)||z�}	|	sd}	|	S)Nrr)r�z<warning: callstatement is defined without callprotoargument
r)�getctypezchar*�size_tr�r��_typedefr��,�void)r�rr]�	capi_mapsr�rZrNr[r+�extendr1r0r\rIr"rKrbrrLr{r})
r��cb_mapr�r��	arg_types�
arg_types2�nrt�ctype�
proto_argss
          rnr
r
�s;���$� 3�Q�?�A��������K�	M��#���z�I�6�u�
�u�_�5�6�t�<����'�8�,�-�
�&�\� ���6�l�1�o���S�!����;��1�I�
�*�E��S�M�E�;�u�Z��h�	�!:�;�C�@���#���#�C�(�!�C�K�E���
�$�S�)�!�#�&��!�!�(�+������' �*���)�j�0�1�J���
��roc��t|d�S)N�usercoder�r�s rnrr�s���T�:�.�.roc��t|dd��S)Nr�r)r�r�r�s rnrr�s���T�:�q�9�9roc��t|d�S)Nrr�r�s rnrr�s���T�=�1�1roc��gg}}d|vrO|d}d|vrA|dD]}||vs�|j|��|D]}||vs�|j|��||fS|d}||fS)Nr��sortvars)r{)r��sortargsr�r�s    rn�getargsr��s�����d�H�
��~��F�|������*�%�
'����9��O�O�A�&�
'��
'���H�$��O�O�A�&�
'�
��>���F�|�H���>�roc�L�g|jdg�}}|dj�D�cgc]}t|d|�s�||vr|��}}||z}d|vrA|dD]}||vs�|j|��|D]}||vs�|j|��||fS||dz}||fScc}w)Nr�r�r�)rir	r/r{)r�r�r�r��auxvarss     rnrr�s�������&�"�-�d�H��v�,�+�+�-�"�Q��d�6�l�1�o�1N��D�=��"�G�"��T�>�D��T���j�!�	#�A��D�y�����"�	#��	#�A��� �����"�	#�
��>���T�&�\�)����>���"s�B!�B!c�^�d|vryd}|ddk(r
|d|df}|dj|d�S)N�f2pymultilinesr�z
python moduler�r�)r��ks  rnrrsI���t�#���A��G�}��'���M�4��<�'��� �!�%�%�a��.�.roc�N�dt|�z
dz
dz}d|dz�d|�d|dz�d�S)N�P��z/*r�� z*/rN)r��lns  rnrrs.��
�s�4�y�.�1�
��	"�B��#�X�t�R�#�X�6�6roc�P�t|t�rttfd�|g�S|gS)Nc��|||�zSr�r�)�x�yrs   rn�<lambda>zflatlist.<locals>.<lambda>s��q�1�Q�4�x�ro)r�r�r�flatlist)�lsts rnr�r�s%���#�t���X�7��b�A�A��5�Lroc�$�|r
|ddk(r|ddS|S)Nr�r�r�)rs rnr`r`s���Q�r�U�c�\���"�v�
��Hroc
��t|t�r|D�cgc]}t|||���c}St|t�r|D�cgc]}t|||���c}Sdt|j��zD]z}|dk(r�	d|vr||dvr	|d|}n|}t||t�r1|jd|z|j	t||���}�c|jd|z||�}�||Scc}wcc}w)Nr��
separatorsforz#%s#)r�r�r^r	r}r�)r�r��
defaultsep�_mr��seps      rnr^r^s����!�T��78�9����R��,�9�9��#�t��58�9�r���A�z�*�9�9�
��a�f�f�h��
�
2�������a��A��?�);�$;��O�$�Q�'�C��C��a��d�D�!��+�+�f��l�C�H�H�X�a��d�^�,D�E�C��+�+�f��l�A�a�D�1�C�
2��J��:��9s�C2�C7c�Z�t|t�r|D]}t||�}�|S|j�D]�}|ddk(r�||vr�t||t�r	||g||<t||t�r:t||t�r||||z||<�a||j||��yt||t�s��t||t�s��|dk(r/||j�D]}|||vs�||||||<���t||||�||<��||||<��|S)Nr�_r�)r�r�r
r	r�r{�dict)�rd�arr�r��k1s     rnr
r
2sC���"�d���	#�A��B��"�B�	#��	�
�W�W�Y����Q�4�3�;����7��"�Q�%��%��A����1���"�Q�%��&��b��e�T�*��q�E�B�q�E�M�B�q�E��q�E�L�L��A��'��B�q�E�4�(��b��e�T�*��O�+�"$�Q�%�*�*�,�6�B�!��A���,.�q�E�"�I��1��b�	�6�!+�2�a�5�"�Q�%� 8��1���q�E�B�q�E�)�*�Iroc	��i}t|t�r)|D]"}t|||�}t||�}d|vs�!|S|Sd|vr
|d|�s|Sd|vr.td|di||�}d|vrt	j
|d�|j
�D�]�}|dk(r	||||<�t||t�rt|||�||<�n�t||t�r<g||<||D]-}t||i||�}	||	vs�||j|	|��/�n5|ddk(r��t||t�r�g||<||j
�D]�}
t|
tj�s�|
|�s�'t|||
t�rW|||
D]K}t|t�rtd|i||�}d|vr|d}nd	}||jt||���M��|||
}t|t�rtd|i|�}d|vr|d}nd	}||jt||����ntd
t||�z�t||t�s���t||�dk(r||d||<||gk(s���||=���|S)N�_break�_check�need�needsr�rr��	supertextr�zapplyrules: ignoring rule %s.
r)r�r�rr
r�append_needsr	r�r^r{r��types�FunctionTyperr�rO)�rulesr�rt�retr��rr�resr�r�r�r�s           rnrrOs���
�C��%����	�A��A�q�#�&�B��S�"�%�C��2�~���
�	�
�
��5��/�%��/�#�"6��
�
����'�5��=�1�1�c�:���c�>�����G��-�
�Z�Z�\�*������1�X�C��F���e�A�h��$��U�1�X�q�)�C��F�
��a��$�
'��C��F��1�X�
)����A���3�/����7���F�M�M�"�Q�%�(�
)��q�T�S�[��
��a��$�
'��C��F��A�h�m�m�o�
5���b�%�"4�"4�5�"�S�'�!�%��(�2�,��5�!&�q��"��9�A�)�!�T�2�&0�+�q�1A�1�c�&J��#.�#�#5�(+�K�(8�A�(*�A���F�M�M�'�!�Q�-�8�9�"�!�H�R�L��%�a��.�",�k�1�-=�q�"A�C�*�c�1�$'��$4��$&���A��
�
�g�a��m�4�'
5�*
�5��U�1�X��F�G��c�!�f�d�#��3�q�6�{�a���Q�����A���1�v��|���F�U*�V�Jroz%\s*python\s*module\s*(?P<name>[\w_]+)z4\s*python\s*module\s*(?P<name>[\w_]*?__user__[\w_]*)c��d}t|�5}|D].}t|�}|s�t|�r�|jd�}nddd�|S#1swY|SxYw)Nr�)�open�_f2py_module_name_match�_f2py_user_module_name_match�group)�sourcer�r�line�ms     rnrPrP�se���D�	
�f�����	�D�'��-�A��/��5���w�w�v����
	���K���K�s�A� A�Ac	���g}|dD]_}|dD]U}|jd�s�|j|jd�j�D�cgc]	}d|vs�|��c}��W�a|Scc}w)Nr]�use�__)rir�r	)�pymod�all_uses�inner�modblockr�s     rnrcrc�sz���H��v��Z���f�
�	Z�H��|�|�E�"����H�L�L��,?�,D�,D�,F� X�q�$�VW�-�� X�Y�	Z�Z��O��!Ys�	A,�A,c�f�g}i}|j�D]I\}}|j�D��	cic]\}}	|j�|	��}
}}	|
||j�<�K|j�D]�\}}||vri||<|j�D]�\}}	|	|vrV|||vrtd|�d|�d|||�d|	�d�	�|	|||<|rtd|�d|�d|	�d	��|j|	��`|s�ct	d
|�d|�d|	�d|	�dt|j
���d
������||fScc}	}w)a�
    Update the Fortran-to-C type mapping dictionary with new mappings and
    return a list of successfully mapped C types.

    This function integrates a new mapping dictionary into an existing
    Fortran-to-C type mapping dictionary. It ensures that all keys are in
    lowercase and validates new entries against a given C-to-Python mapping
    dictionary. Redefinitions and invalid entries are reported with a warning.

    Parameters
    ----------
    f2cmap_all : dict
        The existing Fortran-to-C type mapping dictionary that will be updated.
        It should be a dictionary of dictionaries where the main keys represent
        Fortran types and the nested dictionaries map Fortran type specifiers
        to corresponding C types.

    new_map : dict
        A dictionary containing new type mappings to be added to `f2cmap_all`.
        The structure should be similar to `f2cmap_all`, with keys representing
        Fortran types and values being dictionaries of type specifiers and their
        C type equivalents.

    c2py_map : dict
        A dictionary used for validating the C types in `new_map`. It maps C
        types to corresponding Python types and is used to ensure that the C
        types specified in `new_map` are valid.

    verbose : boolean
        A flag used to provide information about the types mapped

    Returns
    -------
    tuple of (dict, list)
        The updated Fortran-to-C type mapping dictionary and a list of
        successfully mapped C types.
    z	Warning: redefinition of {'z':{'z':'z'->'z'}}
z
	Mapping "z(kind=z)" to "z"
z	Ignoring map {'z'}}: 'z
' must be in rs)�itemsrr]r{rr�r	)�
f2cmap_all�new_map�c2py_maprg�
f2cmap_mapped�
new_map_lowerr��d1r��v1�d1_lowers           rnrdrd�sB��L�M��M�����,���2�13����<�v�r�2�B�H�H�J��N�<��<�#+�
�a�g�g�i� �,��$�$�&����2��J���J�q�M��h�h�j�	�F�B���X�~���A��&���b�*�Q�-��"3�R�9��%'�
�1�
�b�!���1�b�"�M�N��$�$�R�(����b�"�b�$�x�}�}��*?�A��	�	�,�}�$�$��3=s�D-)rr)r�)F)��__doc__�pprintrjrr��	functoolsrr�rrr�__all__�version�f2py_versionr_rhrrr�r]r	rzr}r!rr rMrKrLrrrIr"r;r.r�r�r,r@rTrXrSrVr'r>r=r$r-rUrYr�rWr�r�r�rJrr�rCrBr*r+rOrQrbr�r�rHr<rAr?r%r&rNrrRr�rDr)rrGr#r5r6r9r4r8r0r*r2r:r1r7r/r8r;r>r3rErFrrVrrrrer`rrrdrg�	ExceptionrirarZr\r[r(rr�rr
rrrr�rrrr�r`r^r
r�compile�I�matchr�r�rPrcrdr�rorn�<module>r�sE��	��
�	��������:�"�"���}�}��
����
�	��
"��
�
;�C�?�7�=�9�@�6�B�@�
>�>�;��6�
 �!�!�!�!� �!�!�@�
!�
"�
"�
"�
"�
!�
!�
!�
!�
B�9� �9�;�E�=�8�
.��:�2�	
�	
�	
�	
�
�	
�5�4�
+�I�
?�K�9�K�

�$L�*�E�"�(�,�+�0�/�.�*�/�/�0��k�>�>��|�]�M����Z��Z�!�#3�"�$5�"�$5�#�%7��
�>���%��	
��
�
��.�
�
�	�	�	���2�1�)���
�<4�')�$�N/�:�2�
� �"/�7�
�
��&�: �;�z%�"�*�*�%M�%'�T�T�+�+0�5��)�r�z�z�+=�>@�d�d� D�DI�E��
��C%ro

Youez - 2016 - github.com/yon3zu
LinuXploit