
    Kh:(                         S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJr  SSKJr  SS jrS rSS jrSS	 jrS
 rg)a;  

Rules for building C/API module with 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.
    N   )getfortranname
isexternal
isfunctionisfunction_wrapisintent_inisintent_outislogicalfunctionismoduleroutineisscalarissubroutineissubroutine_wrapoutmessshow)isoc_kindmapc                    Uc  UnX;  a  [        U 5        [        SU-  5        gSX   ;  a  [        X   5        [        SU-  5        gX   S   nUS:X  a  SX   ;   a  U< SX   S   < S3n0 nSnS	X   ;   a
  X   S	   nS
nOSX   ;   a	  X   S   nSnSU;   aL  U(       a!  US   S;   a  SU-  nOuU< SU< SUS   < S3nOcUS   S;   a  U< SUS   < S3nOLU< SUS   < 3nO?SU;   a&  U< SUS   < 3nS
U;   a  U< SUS
   < S3nOSU-  nOS
U;   a  U< SUS
   < S3nU< SU< 3nSX   ;   a  U< SSR                  X   S   5      < S3nU$ )Nz1var2fixfortran: No definition for argument "%s".
 typespecz/var2fixfortran: No typespec for argument "%s".
typetypename()kindselectorkindcharselectorlen*)r   :(*)z	%s(len=*)=)r   r   z*(z(len=z,kind=z%s)z(kind= 	dimension,)r   r   join)varsafaf90modevardefselectorlks          F/var/www/html/env/lib/python3.13/site-packages/numpy/f2py/func2subr.pyvar2fixfortranr-      s   	z}T
DqHI TWBQFGWZ FJ$'1#TWZ%89H	B 7>*	47	"7>*
h} 11$/(.HSMB}
*&,hsm<$*HSM:H$*HUO<F!*0(62BC&)x&,hv.>?F#Fdg#SXXdgk.B%CDM    c                     SnU S   R                  5        H2  u  p#UR                  S0 5      R                  S5      nU[        ;   d  M2    g   U$ )NFr%   r   r   T)itemsgetr   )routuseisockeyvalue
kind_values        r,   useiso_c_bindingr7   F   sM    G6l((*
YY~r266v>
% + Nr.   c           	         [        U 5      (       d   e/ nU S   nU S    Hv  nU S   U   n[        UR                  S/ 5      5       HL  u  pgUS:X  d  M  SU< SU< 3n[        SS/S	9n	S
U< SU< S3U	S'   UR	                  U5        XU'   XS   U'   MN     Mx     U S   R                  U5        [        U5      n
S/nU4S jnU S   n[        U 5      n[        U 5      nSU-  nUU;  a  X=   UU'   U/U S   SS  -   nO	U/U S   -   n[        X=SU5      nUS S S:X  a:  U(       a	  SUSS  -   nOSUSS  -   nX=   S   nUR                  SS5      S:X  a  SUS'   UR                  SU5      nS n[        U 5      nSR                  U5      nU(       av  UR                  U S3S5      nU Vs/ s H  nUU:w  d  M  UPM     nnUU S'   U" SU S   < SU< SU< S35        U(       d  U" S U S   < S!U< 35        U(       a  U" S"5        OJU" S#U< SU< S35        U(       a  U" S"5        U
(       d#  U" S$U-  5        UR                  SS5      S%-   U-   nU
(       aQ  U S&   R                  S'5       H9  nUR                  5       R                  S 5      (       d  M)  S(U;  d  M1  U" U5        M;     USS  n/ nU H3  n[!        X4   5      (       d  M  U" S$U-  5        UR	                  U5        M5     U H@  nUU;   a  M  [#        X4   5      (       d  M  U" [        X4US)95        UR	                  U5        MB     U H@  nUU;   a  M  [%        X4   5      (       d  M  U" [        X4US)95        UR	                  U5        MB     U H  nUU;   a  M  U" [        X4US)95        M     U" U5        Ub  U" U5        U
(       a1  U(       a  O)U" S*5        U" U S&   R                  5       5        U" S+5        SR                  U Vs/ s H  oDU;  d  M
  UPM     sn5      nU(       d9  ['        U 5      (       a  U" U< S,U< S-U< S.35        OU" U< S/U< S-U< S35        U(       a  U" S0U S   < SU< 35        US2   $ U" S15        US2   $ s  snf s  snf )3Nr%   argsr"   r   f2py__dintegerhider   intentshape(, r   r    r   c                 "    US   < SU < 3US'   g Nr   z
       linerets     r,   addcreatefuncwrapper.<locals>.addb       #&q640Ar.   namez
%sf2pywrapr   z
@@@NAME@@@   zcharacter*(*)zcharacter(len=10)zcharacter*10r   r   r   10subroutine f2pywrap_
modulename_ (use 	, only : use iso_c_bindingsubroutine f2pywrapexternal %sr!   saved_interface
__user__r(   	interfaceend interfacez = .not.(.not.r   z))z = end subroutine f2pywrap_endr   )r   	enumerater1   dictappendextendboolr   r   r-   replacer7   r$   splitlstrip
startswithr   r   r   r
   )r2   	signature
extra_argsr%   r&   viddndvneed_interfacerG   rH   rK   fortrannamer(   newnamer9   l_tmpl
charselectl1rlr3   sargsargrF   dumped_argss                              r,   createfuncwrapperry   N   s   dJ<D&\LOaeeK45DACx&'+9fX>-.23!!"%R$&+q! 6  	L
#*%N$C 1<D &Kd#Gd#Gd
Wy4<++y4<'Dg>Fcr{o%(6"#;6F#fRSk1FZ/
>>#r"e+"JsO	g	.B	Bt$GIIdOE bk2.#3tsd{t3V,u. 	/tL'9;GH#$D%89#$-.b1C7+EB*+11$7D{{}''//Jd4JD	 8 8DKdg#$q!  DGt89q!  twt89q!  N4G45 
 G	~B&'..01 II$>$Q:*=q$>?ET""Wk5IJ+u=>tL/A4HI q6M 	E
q6MI 4r ?s   $
Q02Q0*	Q57Q5c           	         [        U 5      (       d   e/ nU S   nU S    Hv  nU S   U   n[        UR                  S/ 5      5       HL  u  pgUS:X  d  M  SU< SU< 3n[        SS/S	9n	S
U< SU< S3U	S'   UR	                  U5        XU'   XS   U'   MN     Mx     U S   R                  U5        [        U5      n
S/nU4S jnU S   n[        U 5      n[        U 5      nU S   n[        U 5      nSR                  U5      nU(       aB  U" SU S   < SU< SU< S35        U(       a  U" S5        U(       d  U" SU S   < SU< 35        O2U" SU< SU< S35        U(       a  U" S5        U
(       d  U" SU-  5        U
(       aQ  U S   R                  S5       H9  nUR                  5       R                  S5      (       d  M)  SU;  d  M1  U" U5        M;     / nU H3  n[        X4   5      (       d  M  U" SU-  5        UR	                  U5        M5     U H@  nUU;   a  M  [        X4   5      (       d  M  U" [!        X4US95        UR	                  U5        MB     U H  nUU;   a  M  U" [!        X4US95        M     U
(       ag  U(       a  O_U" S5        U S   R                  S5       H7  nUR                  5       R                  S5      (       a  SU;   a  M/  U" U5        M9     U" S5        SR                  U Vs/ s H  oDU;  d  M
  UPM     sn5      nU(       d  U" S U< S!U< S35        U(       a  U" S"U S   < SU< 35        US$   $ U" S#5        US$   $ s  snf )%Nr%   r9   r"   r   r:   r;   r<   r=   r>   r@   rA   r   r    r   c                 "    US   < SU < 3US'   g rC   rD   rE   s     r,   rH   createsubrwrapper.<locals>.add   rJ   r.   rK   rN   rO   rP   rQ   rT   rR   rS   rU   rV   rW   rX   rY   rZ   r[   r\   zcall r   r]   r^   r   )r   r_   r1   r`   ra   rb   rc   r   r   r7   r$   re   rf   rg   r   r   r-   )r2   rh   ri   r%   r&   rj   rk   rl   rm   rn   ro   rG   rH   rK   rp   r(   r9   r3   rv   rF   rx   s                        r,   createsubrwrapperr}      s#   J<D&\LOaeeK45DACx&'+9fX>-.23!!"%R$&+q! 6  	L
#*%N$C 1<D &Kd#G<Dt$GIIdOE,u. 	/#$tL'9;GHD%89#$-.*+11$7D{{}''//Jd4JD	 8 Kdg#$q!  DGt89q!  N4G45 
 ./55d;;;=++F33
d8JD	 <  II$>$Q:*=q$>?E[%01tL/A4HI q6M 	E
q6M ?s   /	M<Mc                    [        U 5      (       a  [        U 5      nU S   n[        SU< SU< S35        [        R                  " U 5      n UnUnSU ;   a  U S   nU S   U   U S   U'   U S   U   n[	        U5      (       de  SU;  a  / US'   US   R                  S5        S	nUS    H  nUR                  S
5      (       d  M  Sn  O   U(       a  US   R                  SU-  5        U/U S   -   U S   S S & U [        U 5      4$ [        U 5      (       aG  [        U 5      nU S   n[        SU< SU< S35        [        R                  " U 5      n U [        U 5      4$ U S4$ )NrK   z)		Creating wrapper for Fortran function "z"("z")...
resultr%   r?   outr   zout=r   zout=%sr9   z+		Creating wrapper for Fortran subroutine "r   )
r   r   r   copyr	   ra   rg   ry   r   r}   )r2   rp   rK   fnamernamefvarflagrk   s           r,   assubrr   "  ss   t$T*F|+ 	 yytNE"&v,u"5DLF|E"D!!t#!#XN!!%(D(^<<''D $ X%%h%&89 'DL0VQ&t,,,$T*F|& 	'yy&t,,,8Or.   )NN)r   )__doc__r   auxfuncsr   r   r   r   r   r	   r
   r   r   r   r   r   r   	_isocbindr   r-   r7   ry   r}   r   rD   r.   r,   <module>r      sF   
     $.`yxUp!r.   