+
    i                     z    R t ^RIHt ]P                  t^RIHtHt ^RIHtH	t	H
t
HtHtHt ^RIHt RR ltR tR# )	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)getuseblockshasbody	hascommonhasnoteisintent_hideoutmess)	rmbadnamec                    . p\        V 4      '       dT   V R ,          P                  4        F7  w  r4V Uu/ uF  qUV R,          V,          bK  	  ppVP                  W4V34       K9  	  M4\        V 4      '       d$   V R,           F  pV\	        V^ 4      ,           pK  	  V'       dI   . p. p	V F<  p
V
^ ,          V	9  g   K  V	P                  V
^ ,          4       VP                  V
4       K>  	  V# V# u upi )commonvarsbody)r   itemsappendr   findcommonblocks)blocktopretkeyvaluevvars_btretnamests   &&         w/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/numpy/f2py/common_rules.pyr   r      s    
C///1JC278%Qfa((%E8JJE*+ 2 
vA(A..C 
At5 QqT"A  J 9s   C-c                 Z
   R . R. RR./pR.pV3R lpR.pV3R lpR.pV3R lpR.pV3R lp	\        V 4       EF  w  rpV
P                  4       p. . rV F?  p\        VV,          4      '       d   VP                  V4       K.  VP                  V4       KA  	  V'       d8   \	        R	V
: R
RP                  V4      : RRP                  V4      : R24       M#\	        R	V
: R
RP                  V4      : R24       V! RV
 R24       \        V 4       F  pV! RV 24       K  	  V! R4       V F   pV! \        P                  ! VV4      4       K"  	  V
R8X  d   V! RRP                  V4       24       MV! RV
 RRP                  V4       24       V! RRP                  V4       R24       V! R4       V! RV
,          4       . pV F  p\        P                  ! VV,          4      p\        P                  ! VV,          4      p\        P                  V,          p\        P                  ! VVV,          4      pVR,          '       d   VP                  RVR,           R24       MVP                  R4       VR,          P                  4       pV'       g   RpV! RV: RVR,          : R V: R!V: R"V: R#24       K  	  V! R$4       \        V4      pRP                  V Uu. uF  pR%V,           NK  	  up4      pV! R&V
: RV: R'24       V! R(4       V F  pV! R)V
 R*V R+24       K  	  V! R,4       R-V9   d   R.pMR/pV! R0V: R1V: R2V
P!                  4       : R3RP                  R4.\#        V4      ,          4      : R52	4       V! R6V
,          4       V! R7V: R1V: R2V
P!                  4       : R8V
: R92	4       V! R:4       V! R;V
 R<V
 R924       V! R=4       V! R>V
 R?24       V! R@4       V
P%                  R-RA4      pV	! RBV,          4       V	! RC4       V F  pV	! RD\        P&                  ! VVV,          4      ,          4       \)        VV,          4      '       g   KH  VV,          RE,          p\+        V\,        4      '       d   RP                  V4      pV	! RFV 24       K  	  V	! RG4       VR,          P                  RHV
 RRP                  \/        RI VV4      4       RJ24       EK  	  WAR &   WaR&   V^ ,          VRK&   \#        VR,          4      ^8:  d   RVR&   W^ ,          3# u upi )Lcommonhooksinitcommonhooksdocsz"COMMON blocks:\n" c                 (    V^ ,           RV  2V^ &   R# )    z
      N liness   &&r   faddbuildhooks.<locals>.fadd-   s    A$xv&!    c                 (    V^ ,           RV  2V^ &   R# r%   
Nr&   r'   s   &&r   caddbuildhooks.<locals>.cadd1       A$r$ !r,   c                 (    V^ ,           RV  2V^ &   R# r.   r&   r'   s   &&r   iaddbuildhooks.<locals>.iadd5   r2   r,   c                 (    V^ ,           RV  2V^ &   R# r.   r&   r'   s   &&r   daddbuildhooks.<locals>.dadd9   r2   r,   z)		Constructing COMMON block support for "z	"...
		  ,z
		  Hidden: r/   zsubroutine f2pyinitz(setupfunc)zuse zexternal setupfunc_BLNK_zcommon zcommon /z/ zcall setupfunc()zend
z'static FortranDataDef f2py_%s_def[] = {dims(z-1z	{"z",rankz,{{z}},z, z},z
	{NULL}
};zchar *zstatic void f2py_setup_z) {z	int i_f2py=0;z	f2py_z_def[i_f2py++].data = ;}_	F_FUNC_USF_FUNCzextern void z	(f2pyinitz	,F2PYINITz
)(void(*)(zchar*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}z"	/c                     W,           # )Nr&   )r   ds   &&r   <lambda>buildhooks.<locals>.<lambda>   s    aer,   z\n"latexdoc)r   lowerr	   r   r
   joinr   r   var2fixfortranr   getctype
get_elsize
c2capi_map
getarrdimsstripr   upperlenreplacegetarrdocsignr   
isinstancelistmap)mr   fwrapr*   chooksr0   ihooksr4   docr7   namevnamesr   
lower_namehnamesinamesnusenameidimsctelsizeatdmdmsinames1r)   inames1_tpsrC   tnamerE   s   &                             r   
buildhooksro   (   s   "/)*,CDE 'TF !TF !$C ! 0 3tZZ\
RAT!W%%a a 	 
 chhv&(8: ; chhv&( )"4&45#AG4y!" '!"A))$23 87388F+,-.8D6CHHV$4#567sxx/023W6$?@A##DG,B))$q'2F%%b)B%%aa1B&zzqFA./R V*""$Cr&zz3F4 5  	^F#hhg>g1g>?$DEA74& 6qc;< S	* FF
DJJL'S\124 	5 	/$67
DJJL$8 	9U0odV2NO./06QRS !S%(8EBC#$A+))!T!W57 8tAwAwvdD))99T?DtD6]#  	!"FD6CHHS);VU%KLMUS	U[ !4^  #!fC
O
3v;1Fa=Q  ?s    T(
N)   )__doc__r#   r   versionf2py_versionr   r   auxfuncsr   r   r   r   r	   r
   crackfortranr   r   ro   r&   r,   r   <module>rv      s1   	 "" " W W #(gr,   