
    *iA'                         S r SSKrSSKJ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 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   )isoc_kindmap)getfortranname
isexternal
isfunctionisfunction_wrapisintent_inisintent_outislogicalfunctionismoduleroutineisscalarissubroutineissubroutine_wrapoutmessshowc                    Uc  UnX;  a  [        U 5        [        SU S35        gSX   ;  a  [        X   5        [        SU S3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;   aE  U(       a  US   S;   a  U S3nOhU SU SUS    S	3nOYUS   S;   a  U SUS    S	3nODU SUS    3nO9SU;   a"  U SUS    3nSU;   a  U SUS    S	3nOU S	3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$ )Nz,var2fixfortran: No definition for argument "z".
 typespecz*var2fixfortran: No typespec for argument "typetypename()kindselectorkindcharselectorlen*)r   :(*)z(len=*)=)r   r   z*(z(len=z,kind=z(kind= 	dimension,)r   r   join)varsafaf90modevardefselectorlks          R/var/www/html/ai-backend/venv/lib/python3.13/site-packages/numpy/f2py/func2subr.pyvar2fixfortranr-       s   	z}T
>qcFG TW<QCtDEWZ FJ$'181TWZ013H	B 7>*	47	"7>*
h} 11"87+"81RD(3-:c]j(xr(3-2Fxq#0F	(	85% 12Xxvhv&6%7q9Fxq\F	8	86(6"2!315xqFdg81SXXdgk&:;<A>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   N   sM    G6l((*
YY~r266v>
% + Nr.   c           	         [        U 5      (       d   e/ nU S   nU S    Hm  nU S   U   n[        UR                  S/ 5      5       HC  u  pgUS:X  d  M  SU SU 3nSS/S	.n	S
U SU S3U	S'   UR                  U5        XU'   XS   U'   ME     Mo     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3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(       aq  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        OHU" S#U SU S35        U(       a  U" S"5        U
(       d#  U" S$U 3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 3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(       d3  [%        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>.addj       F88D6*Ar.   namef2pywrapr   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 r!   saved_interface
__user__r(   	interfaceend interfacez = .not.(.not.r   z))z = end subroutine f2pywrap_endr   )r   	enumerater1   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   V   s   dJ<D&\LOaeeK45DACxQCr!%"+x@"1#Rs!,3!!"%R$&+q! 6  	L
#*%N$C +<D &Kd#Gh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"4#5"6avRwaHI$tL)*)K=AB#$!$r%23#$)K=)*b1C7+EB*+11$7D{{}''//Jd4JD	 8 8DKdg)A3 q!  DGt89q!  twt89q!  N4G45 
 G	~B&'..01 II$>$Q:*=q$>?ET""7)>+awbAB7)3{m1UG156&tL'9&:!D6BC q6M 	E
q6MG 4p ?s   
Q)Q	Q'Qc           	      |   [        U 5      (       d   e/ nU S   nU S    Hm  nU S   U   n[        UR                  S/ 5      5       HC  u  pgUS:X  d  M  SU SU 3nSS/S	.n	S
U SU S3U	S'   UR                  U5        XU'   XS   U'   ME     Mo     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(       a=  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        O0U" SU SU S35        U(       a  U" S5        U
(       d  U" SU 3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 3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   rO   rP   rQ   rR   rU   rS   rT   rV   rW   rX   rY   rZ   r[   r\   r]   zcall r   r^   r_   r   )r   r`   r1   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}      si   J<D&\LOaeeK45DACxQCr!%"+x@"1#Rs!,3!!"%R$&+q! 6  	L
#*%N$C +<D &Kd#G<Dt$GIIdOE"4#5"6avRwaHI#$$tL)*)K=AB!$r%23#$)K=)**+11$7D{{}''//Jd4JD	 8 Kdg)A3 q!  DGt89q!  N4G45 
 ./55d;;;=++F33
d8JD	 <  II$>$Q:*=q$>?EeK=%*+&tL'9&:!D6BC q6M 	E
q6M ?s   	L9,L9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 3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   r9   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   (  st   t$T*F|+ 	 yytNE"&v,u"5DLF|E"D!!t#!#XN!!%(D(^<<''D $ X%%UGn5 'DL0VQ&t,,,$T*F|& 	'yy&t,,,8Or.   )NN)r   )__doc__r   	_isocbindr   auxfuncsr   r   r   r   r	   r
   r   r   r   r   r   r   r   r-   r7   ry   r}   r   rD   r.   r,   <module>r      sD   
  #   ",\xvTn!r.   