https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/numpy/f2py/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/numpy/f2py/__pycache__/f90mod_rules.cpython-310.pyc
o

6��aS&�@szdZddd�ZdZddlZddlmZdd	lmZdd
lm	Z	m
Z
ddlTiZdd
�Z
de��jZdZdZdd�ZdS)aJ

Build F90 module support for f2py2e.

Copyright 2000 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
$Date: 2005/02/03 19:30:23 $
Pearu Peterson

z$Revision: 1.27 $�
���z
See `f2py -v`�N�)�	capi_maps)�	func2subr)�undo_rmbadname�undo_rmbadname1)�*cCsPt|�r|gSt|�s
gSg}|dD]}t|�r|�|�q|t|�}q|S)N�body)�ismodule�hasbody�append�findf90modules)�m�ret�b�r�9/usr/lib/python3/dist-packages/numpy/f2py/f90mod_rules.pyr"sra�      external f2pysetdata
      logical ns
      integer r,i
      integer(%d) s(*)
      ns = .FALSE.
      if (allocated(d)) then
         do i=1,r
            if ((size(d,i).ne.s(i)).and.(s(i).ge.0)) then
               ns = .TRUE.
            end if
         end do
         if (ns) then
            deallocate(d)
         end if
      end if
      if ((.not.allocated(d)).and.(s(1).ge.1)) thenz�      end if
      if (allocated(d)) then
         do i=1,r
            s(i) = size(d,i)
         end do
      end if
      flag = 1
      call f2pysetdata(d,allocated(d))z�      end if
      if (allocated(d)) then
         do i=1,r
            s(i) = size(d,i)
         end do
         !s(r) must be equal to len(d(1))
      end if
      flag = 2
      call f2pysetdata(d,allocated(d))c$
Cs�ddlm}gggddgddd�dggd�}d	g}|fd
d�}d	g}|fdd
�}t|�D�]�}gggg|dggf\}}	}
}}}
g}g}g}t|�rX|dD]	}|�|d�qN|d��D]}|d|}||vr{ttt�|�s{|
�|�|�|�q^t	d|d�|
r�t	dd�
|
��d	g}|fdd�}d	g}|fdd�}t�|�}|d|d�|d|d�t
|�r�|d}t|t�r�d�
|�}||�|
r�|d�|
D�]0}|d|}|�|�t�|�}tj|}t�||�}|d�dd���}|�dd���}|�s	d}t}t|��rAd |v�r2d!|d v�r2|d"t|�|d#||d d!|f�t}n|d$t|�|d#||f�n|d$t|�|d#||f�|d%t�||��t
|��rs|d}t|t��rmd�
|�}|d&|�t|��r�|	�d'|d|f�|
�|	d(�|�d)|�|�d*�|d+|d|f�|d,|	d(�|d-|dt|�f�|d.�|d/t|d/<tdt|d#�d�}|d0d1�
d2d3�|D���|d/||d/<|d4|	d(�q�|	�|�|�d5|�|�d6�|d7|d|f�q�|
�r
|d8�t|��r�|dD]�}t|��s.t	d9|d:�d|d�d���q|�d;|d�|d|d<<|�|�\}} t |��ri|d/| |d/<|	�d=|d|df�|�t!j"|dd>��n1| �r�|d/| |d/<|	�d=|d|df�|�t!j#|dd>��n|	�|d�|�|	d(�g|d?<t$||�}!g|!d@<g|!dA<t%||!�}|dB|d|d|d|d|df�|�d5|d�|�dC�|d7|d|df��q|dD�|dE�dF|dd1�
|�|d/f|d/<dG|dv�rdH}"nd}"|dI|"|d|d�&�d1�
|�f�|dJ|d�|dK|"|d|d�&�|df�|dL�|dM|||dM<dN|d|d|dfg|dO|dO<|d	�|dP|d�|�rut'|�D]
}#|dQ|d|#f��qg|�r�|d�
dRg|��|dS�|dT�|
�r�t'|
�D]	}#|dU|#��q�|dVd1�
t'|	���|dW|d�|d�
|dX��dYdZ��g|dX<|d@�d[|dd1�
t'|��f�q,d	|d\<g|d]<g|dA<|d/|dX<t(|d@�dk�r�d	|d@<||d/fS)^Nr)�rules�F_FUNCz
arrayobject.h�
)�	includes0�includesz"Fortran 90/95 modules:\n")�f90modhooks�initf90modhooksr
�need�
separatorsfor�docs�latexdoc�cS�d|d|f|d<dS)Nz%s
      %srr��line�srrr�fadd`�zbuildhooks.<locals>.faddcSr �Nz%s
%srrr!rrr�dadddr%zbuildhooks.<locals>.dadd�namer
�varsz.		Constructing F90 module support for "%s"...
z		  Variables: %s
� cSr r&rr!rrr�caddzr%zbuildhooks.<locals>.caddcSr r&rr!rrr�iadd~r%zbuildhooks.<locals>.iaddz'static FortranDataDef f2py_%s_def[] = {z.\subsection{Fortran 90/95 module \texttt{%s}}
�notez\begin{description}�dimsr	z-1�:�charselector�lenz	{"%s",%s,{{%s,%s}},%s},�rankz	{"%s",%s,{{%s}},%s},z\item[]{{}\verb@%s@{}}z--- %szf2py_%s_getdims_%srz.void (*%s)(int*,int*,void(*)(char*,int*),int*)z,void (*)(int*,int*,void(*)(char*,int*),int*)z!	f2py_%s_def[i_f2py++].func = %s;z#subroutine %s(r,s,f2pysetdata,flag)zuse %s, only: d => %s
z
integer flag
rz allocate(d(%s))
�,cSsg|]}d|�qS)zs(%s)r)�.0�irrr�
<listcomp>�szbuildhooks.<locals>.<listcomp>zend subroutine %szchar *%szchar*z!	f2py_%s_def[i_f2py++].data = %s;z\end{description}z"f90mod_rules.buildhooks: skipping �blockz%s()�
modulenamezf2pywrap_%s_%s)�	signature�externroutinesr�docshortz_	{"%s",-1,{{-1}},0,NULL,(void *)f2py_rout_#modulename#_%s_%s,doc_f2py_rout_#modulename#_%s_%s},zchar *z	{NULL}
};
�}z0static void f2py_setup_%s(%s) {
	int i_f2py=0;%s�_�	F_FUNC_USz4extern void %s(f2pyinit%s,F2PYINIT%s)(void (*)(%s));z static void f2py_init_%s(void) {z*	%s(f2pyinit%s,F2PYINIT%s)(f2py_setup_%s);z}
rzN	PyDict_SetItemString(d, "%s", PyFortranObject_New(f2py_%s_def,f2py_init_%s));rz$subroutine f2pyinit%s(f2pysetupfunc)zuse %s, only : %s�	interfacez
end interfacezexternal f2pysetupfunczexternal %szcall f2pysetupfunc(%s)zend subroutine f2pyinit%s
rz\subsection{z\subsubsection{z"	%s --- %s"�routine_defs�doc))rrrrr
�keys�l_or�
isintent_hide�	isprivate�outmess�joinr�modsign2map�hasnote�
isinstance�list�getctype�
c2capi_map�
getarrdims�replace�strip�	fgetdims2�
isstringarrayr�fgetdims2_sa�
getarrdocsign�
isallocatable�	fgetdims1�range�int�	isroutine�buildapi�
isfunctionr�createfuncwrapper�createsubrwrapper�
applyrules�
dictappend�upperrr1)$�pymodrr�fhooksr$rAr'r�sargs�fargs�efargs�modobjs�notvars�onlyvars�sargsp�ifargs�mfargsr�n�var�chooksr+�ihooksr,�vrdr-�ct�at�dm�dms�
use_fgetdims2�api�wrap�arr�arrr�
buildhooksWs����

��







���
�


�
��



�
�
�

 �

�
������
�rz)�__doc__�__version__�f2py_version�numpy�nprrr�crackfortranrr�auxfuncs�optionsr�intp�itemsizerVrQrSrzrrrr�<module>s 
�


https://t.me/RX1948 - 2025