bgrdZddlmZejZddlmZmZmZm Z m Z ddlm Z ddlm Z ddl mZd dZdZd S) aM Build common block mechanism for f2py2e. Copyright 2000 Pearu Peterson all rights reserved, Pearu Peterson 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/05/06 10:57:33 $ Pearu Peterson ) __version__)hasbody hascommonhasnote isintent_hideoutmess) capi_maps) func2subr) rmbadnamecg}trGdD]+\}}fd|D}||||f,n-trdD]}|t |dz}|rEg}g}|D]<} | d|vr0|| d|| =|S|S)Ncommonc.i|]}|d|S)vars).0vblocks j/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/f2py/common_rules.py z$findcommonblocks..s$888QQf a(888body)ritemsappendrfindcommonblocks) rtopretkeyvaluevars_btretnamests ` rrrs C////11 , ,JC8888%888E JJUE* + + + + , /v / /A(A...CC   At5   QqT""" A Jrcp ggdgd}dg}|fd}dg}|fd}dg}|fd}dg}|fd} t|D]\} } } | } gg}}| D]B}t| |r||-||C|r@t d| d d |d d |d n)t d| d d |d |d | z|d| D] }|t j| |!| dkr"|dd | zn$|d| dd | |dd |z|d|d| zg}|D]}tj | |}tj | |}tj |}tj || |}|dr|d|dzn|d|d }|sd}|d|d|dd|d|d|d |d t|}d d!|D}|d"| d#|d$|d%|D]}|d&| d'|d(|d)d*| vrd+}nd,}|d-|d.| d/| d0d d1gt!|zd2 |d3| z|d4|d.| d/| d5| d6 |d7|d8| d9| d6|d:|d;| z|d<| d*d=}| d>|z| d?|D]}| d@tj|| |zt'| |rF| |dA}t)|t*rd |}| dB|z| dC|dDdE| dd t-dF||dG||dH<||dI<|dJ|dK<t!|dDdLkrd|dD<||dJfS)MNz"COMMON blocks:\n") commonhooksinitcommonhooksdocsc&|dd||d<dS)Nrz rliness rfaddzbuildhooks..fadd4s!"1tt,!rc&|dd||d<dSNr rr+s rcaddzbuildhooks..cadd8Q444&!rc&|dd||d<dSr0rr+s riaddzbuildhooks..iadd<r3rc&|dd||d<dSr0rr+s rdaddzbuildhooks..dadd@r3rz) Constructing COMMON block support for "z "... ,z Hidden: r1z subroutine f2pyinit%s(setupfunc)zexternal setupfunc_BLNK_z common %szcommon /z/ zcall setupfunc(%s)zend z'static FortranDataDef f2py_%s_def[] = {dimsz(%s)z-1z {"z",rankz,{{z}},z, z},z {NULL} };cg|]}d|zS)zchar *r)rr-s r zbuildhooks..ls>>>1 >>>rzstatic void f2py_setup_(z) {z int i_f2py=0;z f2py_z_def[i_f2py++].data = ;}_ F_FUNC_USF_FUNCz extern void z (f2pyinitz ,F2PYINITz )(void(*)(zchar*z));z static void f2py_init_%s(void) { z )(f2py_setup_z);z} z tmp = PyFortranObject_New(f2py_z_def,f2py_init_z if (tmp == NULL) return NULL;z= if (F2PyDict_SetItemString(d, "%s", tmp) == -1) return NULL;z Py_DECREF(tmp);z\_z&\subsection{Common block \texttt{%s}} z\begin{description}z\item[]{{}\verb@%s@{}}notez--- %sz\end{description}r(z" /c ||zS)Nr)rds rzbuildhooks..s Arz\n"r&r'rlatexdocr)rlowerrrrjoinr var2fixfortranr getctype get_elsize c2capi_map getarrdimsstripr upperlenreplace getarrdocsignr isinstancelistmap)mrfwrapr.chooksr2ihooksr5docr7namevnamesr lower_namehnamesinamesnidimsctelsizeatdmdmsinames1 inames1_tpsrCtnamerEs r buildhooksrm/s)* , ,C DE----TF''''TF'''' $C'''' 0 3 3MYMYvtZZ\\ R ! !AT!W%% ! a     a     ) Gchhv&&&&(8(8(8(8: ; ; ; ; Gchhv&&&&( ) ) )  /$ 6777  !""" 4 4A D)$22 3 3 3 3 8   D 0 01 2 2 2 2 DDTTT388F+;+;+;< = = =  !SXXf%5%5 6777 W   6$ ?@@@ 5 5A#DG,,B)$q'22F%b)B%aa11B&z ! Vr&z23333 R   V*""$$C  DDAAr&zzz333FFF4 5 5 5 5 ^F##hh>>g>>>??  $$$ DEEE   C CA DDqqqA B B B B S *   FFF  DJJLLLL'S\\122224 5 5 5  /$ 6777  DJJLLLL$$$8 9 9 9 U  ttt TUUU  .///  O     !!! S%((  8E BCCC  #$$$ ( (A D+)!T!W557 8 8 8tAw (AwvdD))+99T??DX&'''  !""" F  $chhs3E3Evu/U/U&V&V&V&V W Y Y Y YC #C!fC O 3v;1F a=rN)r)__doc__r)rversion f2py_versionauxfuncsrrrrrr r crackfortranr rrmrrrrss  " ######(fffffr