Vfi5ndZddlmZejZddlmZmZddlmZm Z m Z m Z m Z m Z ddlmZd dZdZdS) a5 Build common block mechanism 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 License NO WARRANTY IS EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. ) __version__) capi_maps func2subr) getuseblockshasbody hascommonhasnote isintent_hideoutmess) rmbadnamecg}trGdD]+\}}fd|D}||||f,n-trdD]}|t |dz}|rEg}g}|D]<} | d|vr0|| d|| =|S|S)Ncommonc.i|]}|d|S)vars).0vblocks Fc:\PYTHON\DbComparer\venv\Lib\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 Jrc 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 | dt |D]}|d||d| D] }|tj| |!| dkr"|dd | n$|d| dd | |dd |d|d|d| zg}|D]}tj | |}tj | |}tj |}tj || |}|dr |d|ddn|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/|d0| d1| d2d d3gt#|zd4 |d5| z|d6|d0| d1| d7| d8 |d9|d:| d;| d8|d<|d=| d>|d?| d,d@}| dA|z| dB|D]}| dCtj|| |zt)| |rF| |dD}t+|t,rd |}| dE|| dF|dGdH| dd t/dI||dJ||dK<||dL<|dM|dN<t#|dGdOkrd|dG<||dMfS)PNz"COMMON blocks:\n") commonhooksinitcommonhooksdocsc&|dd||d<dS)Nrz rliness rfaddzbuildhooks..fadd-s!A$&&&&!rc&|dd||d<dSNr rr,s rcaddzbuildhooks..cadd1!A$  $  !rc&|dd||d<dSr1rr,s riaddzbuildhooks..iadd5r4rc&|dd||d<dSr1rr,s rdaddzbuildhooks..dadd9r4rz) Constructing COMMON block support for "z "... ,z Hidden: r2zsubroutine f2pyinitz (setupfunc)zuse zexternal setupfunc_BLNK_zcommon zcommon /z/ zcall setupfunc()zend z'static FortranDataDef f2py_%s_def[] = {dims(z-1z {"z",rankz,{{z}},z, z},z {NULL} };cg|]}d|zS)zchar *r)rr.s r zbuildhooks..gs>>>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, "z", tmp) == -1) return NULL;z Py_DECREF(tmp);z\_z&\subsection{Common block \texttt{%s}} z\begin{description}z\item[]{{}\verb@%s@{}}notez--- z\end{description}r)z" /c ||zS)Nr)rds rzbuildhooks..s a!erz\n"r'r(rlatexdocr)rlowerr rr joinrrvar2fixfortranrgetctype get_elsize c2capi_map getarrdimsstripr upperlenreplace getarrdocsignr isinstancelistmap)mrfwrapr/chooksr3ihooksr6docr8namevnamesr lower_namehnamesinamesnusenameidimsctelsizeatdmdmsinames1 inames1_tpsrEtnamerGs r buildhooksrp(sL)* , ,C DE''''TF!!!!TF!!!! $C!!!! 0 3 3NUNUvtZZ\\ R ! !AT!W%% ! a     a     ) Gchhv&&&&(8(8(8(8: ; ; ; ; Gchhv&&&&( ) ) )  44 4 4 4555#A # #G D!!! " " " "  !""" 4 4A D)$22 3 3 3 3 8   D-388F++-- . . . . D6D66CHHV$4$466 7 7 7  2sxx// 2 2 2333 W   6$ ?@@@ 5 5A#DG,,B)$q'22F%b)B%aa11B&z ! .F...//// R   V*""$$C  DDAAr&zzz333FFF4 5 5 5 5 ^F##hh>>g>>>??  $$$ DEEE   = =A D;4;;q;;; < < < < S *   FFF  DJJLLLL'S\\122224 5 5 5  /$ 6777  DJJLLLL$$$8 9 9 9 U   N N Nd N N NOOO  .///  R R R RSSS  !!! S%((  8E BCCC  #$$$ $ $A D+)!T!W557 8 8 8tAw $AwvdD))+99T??D]D]]###  !""" F  SD S SCHHS););VU%K%KLL S S S U U U UC #C!fC O 3v;1F a=rN)r)__doc__r*rversion f2py_versionrrauxfuncsrrrr r r crackfortranr rrprrrrvs  " """"""""WWWWWWWWWWWWWWWW######(gggggr