§
    ÈÁ³g:(  ã                   ó~   — d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ ddlmZ dd„Zd„ Zdd„Zdd	„Zd
„ ZdS )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                 ó  — |€|}|| vr#t          | ¦  «         t          d|z  ¦  «         dS d| |         vr)t          | |         ¦  «         t          d|z  ¦  «         dS | |         d         }|dk    rd| |         v r|›d| |         d         ›d�}i }d}d	| |         v r| |         d	         }d
}nd| |         v r| |         d         }d}d|v rK|r"|d         dv rd|z  }nu|›d|›d|d         ›d�}nc|d         dv r|›d|d         ›d�}nJ|›d|d         ›�}n<d|v r&|›d|d         ›�}d
|v r|›d|d
         ›d�}nd|z  }nd
|v r|›d|d
         ›d�}|›d|›�}d| |         v r'|›dd                     | |         d         ¦  «        ›d�}|S )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          úR/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/f2py/func2subr.pyÚvar2fixfortranr-      sN  € Ø	€zØˆØ�€}€}ÝˆT‰
Œ
ˆ
ÝÐDÀqÑHÑIÔIÐIØˆrØ˜˜aœÐ Ð ÝˆT�!ŒW‰ŒˆÝÐBÀQÑFÑGÔGÐGØˆrØ�!ŒW�ZÔ €FØ�ÒÐ˜J¨$¨q¬'Ð1Ð1Ø#˜V˜V T¨!¤W¨ZÔ%8Ð%8Ð%8Ð9ˆØ€HØ	€BØ˜˜aœÐ Ð Ø˜”7˜>Ô*ˆØˆˆØ	˜4 œ7Ð	"Ð	"Ø˜”7˜>Ô*ˆØˆØ
ˆh€€Øð 		;Ø˜Œ}Ð 1Ð1Ð1Ø$¨Ñ/��à(.¨¨°°°°H¸S´M°M°MÐB��à˜Œ} 
Ð*Ð*Ø&, f f¨h°s¬m¨m¨mÐ<��à$* F F¨H°S¬M¨MÐ:��à�HÐÐØ$* F F¨H°U¬O¨OÐ<ˆFØ˜Ð!Ð!Ø*0¨&¨&°(¸6Ô2BÐ2BÐ2BÐC��à &Ñ)��Ø�xÐÐØ&, f f¨h°vÔ.>Ð.>Ð.>Ð?ˆFà˜˜  Ð#€FØ�d˜1”gÐÐØ#˜V˜V S§X¢X¨d°1¬g°kÔ.BÑ%CÔ%CÐ%CÐ%CÐDˆØ€Mó    c                 ó´   — d}| d                               ¦   «         D ]:\  }}|                     di ¦  «                             d¦  «        }|t          v r dS Œ;|S )NFr%   r   r   T)ÚitemsÚgetr   )ÚroutÚuseisocÚkeyÚvalueÚ
kind_values        r,   Úuseiso_c_bindingr7   F   sg   € Ø€GØ˜6”l×(Ò(Ñ*Ô*ð ð ‰
ˆˆUØ—Y’Y˜~¨rÑ2Ô2×6Ò6°vÑ>Ô>ˆ
Ø�Ð%Ð%Ø�4�4ð &à€Nr.   c           	      ó¾	  ‡‡— t          | ¦  «        sJ ‚g Š| d         }| d         D ]Š}| d         |         }t          |                     dg ¦  «        ¦  «        D ]V\  }}|dk    rKd|›d|›�}t          ddg¬	¦  «        }d
|›d|›d�|d<   ‰                     |¦  «         |||<   ||d         |<   ŒWŒ‹| d                              ‰¦  «         t          ‰¦  «        }	dg}
|
fd„}| d         Št          | ¦  «        }t          | ¦  «        }d‰z  }||vr |‰         ||<   |g| d         dd …         z   }n|g| d         z   }t          |‰d|¦  «        }|d d…         dk    rJ|rd|dd …         z   }nd|dd …         z   }|‰         d         }|                     dd¦  «        dk    rd|d<   | 
                    d|¦  «        }d }t          | ¦  «        }d                     |¦  «        }|rn| 
                    ‰› d�d¦  «        }ˆfd„|D ¦   «         }|| d<    |d| d         ›d‰›d |›d�¦  «         |s |d!| d         ›d"|›�¦  «         |r |d#¦  «         nK |d$‰›d |›d�¦  «         |r |d#¦  «         |	s* |d%|z  ¦  «         | 
                    dd¦  «        d&z   |z   }|	rT| d'                              d(¦  «        D ]8}|                     ¦   «                              d!¦  «        rd)|vr ||¦  «         Œ9|dd …         }g }|D ]:}t!          ||         ¦  «        r# |d%|z  ¦  «         |                     |¦  «         Œ;|D ]L}||v rŒt#          ||         ¦  «        r0 |t          |||¬*¦  «        ¦  «         |                     |¦  «         ŒM|D ]L}||v rŒt%          ||         ¦  «        r0 |t          |||¬*¦  «        ¦  «         |                     |¦  «         ŒM|D ]"}||v rŒ |t          |||¬*¦  «        ¦  «         Œ# ||¦  «         |� ||¦  «         |	r<|rn9 |d+¦  «          || d'                              ¦   «         ¦  «          |d,¦  «         d                     ˆfd-„|D ¦   «         ¦  «        }|s8t'          | ¦  «        r ||›d.|›d/|›d0�¦  «         n ||›d1|›d/|›d�¦  «         |r |d2| d         ›d‰›�¦  «         n |d3¦  «         |
d4         S )5Nr%   Úargsr"   r   Úf2py_Ú_dÚintegerÚhide©r   Úintentúshape(ú, r   r    r   c                 ó&   — |d         ›d| ›�|d<   d S ©Nr   z
      © ©ÚlineÚrets     r,   Úaddzcreatefuncwrapper.<locals>.addb   ó   € Ø#& q¤6 6 6¨4¨4Ð0ˆˆA‰ˆˆr.   Únamez
%sf2pywrapr   z
@@@NAME@@@é   zcharacter*(*)zcharacter(len=10)zcharacter*10r   r   r   Ú10c                 ó    •— g | ]
}|‰k    ¯|‘ŒS rD   rD   )Ú.0ÚargrJ   s     €r,   ú
<listcomp>z%createfuncwrapper.<locals>.<listcomp>ƒ   s   ø€ Ð3Ð3Ð3˜ s¨d¢{ {� { { {r.   úsubroutine f2pywrap_Ú
modulenameÚ_ú (úuse ú	, only : úuse iso_c_bindingúsubroutine f2pywrapúexternal %sr!   Úsaved_interfaceú
Ú__user__©r(   Ú	interfaceúend interfacec                 ó   •— g | ]}|‰v¯|‘Œ	S rD   rD   ©rN   r&   Ú
extra_argss     €r,   rP   z%createfuncwrapper.<locals>.<listcomp>¼   ó#   ø€ Ð>Ð>Ð>˜Q¨!°:Ð*=Ð*=�qÐ*=Ð*=Ð*=r.   z = .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   Ú	signaturer%   r&   ÚvÚiÚdÚdnÚdvÚneed_interfacerG   rH   Úfortrannamer(   Únewnamer9   Úl_tmplÚ
charselectÚl1Úrlr3   ÚsargsrF   Údumped_argsrb   rJ   s                           @@r,   Úcreatefuncwrapperr~   N   s’  øø€ Ý�dÑÔÐÐÐà€JØ�Œ<€DØ�&Œ\ð 	'ð 	'ˆØ�ŒL˜ŒOˆÝ˜aŸeše K°Ñ4Ô4Ñ5Ô5ð 	'ð 	'‰DˆAˆqØ�CŠxˆxˆxØ&' a a¨¨Ð+�Ý 9°f°XÐ>Ñ>Ô>��Ø-.¨Q¨Q°°°Ð2��3‘Ø×!Ò! "Ñ%Ô%Ð%Ø��R‘Ø$&��+”˜qÑ!øð	'ð 	ˆ„L×Ò˜
Ñ#Ô#Ð#Ý˜*Ñ%Ô%€Nàˆ$€Càð 1ð 1ð 1ð 1à�Œ<€DÝ  Ñ&Ô&€KÝ˜dÑ#Ô#€GØ˜dÑ#€Gà�dÐÐØ˜Tœ
ˆˆW‰Øˆy˜4 œ<¨¨¨Ô+Ñ+ˆˆàˆy˜4 œ<Ñ'ˆå˜D $¨°gÑ>Ô>€FØˆcˆrˆc„{�oÒ%Ð%Øð 	2Ø(¨6°"°#°#¬;Ñ6ˆFˆFà# f¨R¨S¨S¤kÑ1ˆFØ˜$”Z Ô/ˆ
Ø�>Š>˜#˜rÑ"Ô" eÒ+Ð+Ø"ˆJ�s‰Oà	�Š˜ gÑ	.Ô	.€BØ	€Bå˜tÑ$Ô$€GØ�IŠI�d‰OŒO€EØð Fð —’ ˜k˜k˜k¨2Ñ.Ô.ˆØ3Ð3Ð3Ð3˜tÐ3Ñ3Ô3ˆØˆˆV‰ØˆˆØ�,ÔÐÐ    u u uð.ñ 	/ô 	/ð 	/àð 	IØˆCˆC t¨LÔ'9Ð'9Ð'9¸;¸;ÐGÑHÔHÐHØð 	%ØˆCÐ#Ñ$Ô$Ð$øàˆˆ¨D¨D¨D°%°%°%Ð8Ñ9Ô9Ð9Øð 	%ØˆCÐ#Ñ$Ô$Ð$Øð 	FØˆC� Ñ-Ñ.Ô.Ð.Ø—’ ¨bÑ1Ô1°CÑ7¸+ÑEˆBàð ØÐ*Ô+×1Ò1°$Ñ7Ô7ð 	ð 	ˆDØ�{Š{‰}Œ}×'Ò'¨Ñ/Ô/ð °JÀdÐ4JÐ4JØ��D‘	”	�	øà���Œ8€DØ€KØð "ð "ˆÝ�d˜1”gÑÔð 	"ØˆC� Ñ#Ñ$Ô$Ð$Ø×Ò˜qÑ!Ô!Ð!øØð "ð "ˆØ�ÐÐØÝ�D˜”GÑÔð 	"ØˆC•˜t Q°Ð8Ñ8Ô8Ñ9Ô9Ð9Ø×Ò˜qÑ!Ô!Ð!øØð "ð "ˆØ�ÐÐØÝ�t˜A”wÑÔð 	"ØˆC•˜t Q°Ð8Ñ8Ô8Ñ9Ô9Ð9Ø×Ò˜qÑ!Ô!Ð!øØð 6ð 6ˆØ�ÐÐØØˆ�N˜4 ¨GÐ4Ñ4Ô4Ñ5Ô5Ð5Ð5à€Cˆ�G„G€GØ	€~ØˆˆB‰Œˆàð !Øð 	!ààˆC�ÑÔÐØˆC�Ð&Ô'×.Ò.Ñ0Ô0Ñ1Ô1Ð1ØˆC�Ñ Ô Ð à�IŠIÐ>Ð>Ð>Ð> $Ð>Ñ>Ô>Ñ?Ô?€Eàð ?Ý˜TÑ"Ô"ð 	?ØˆC¨W¨W¨W°k°k°kÀ5À5À5ÐIÑJÔJÐJÐJàˆC   ¨+¨+¨+°u°u°uÐ=Ñ>Ô>Ð>Øð Øˆˆ¨t°LÔ/AÐ/AÐ/AÀ4À4ÐHÑIÔIÐIÐIàˆˆE‰
Œ
ˆ
ØˆqŒ6€Mr.   c           	      ó  ‡— t          | ¦  «        sJ ‚g Š| d         }| d         D ]Š}| d         |         }t          |                     dg ¦  «        ¦  «        D ]V\  }}|dk    rKd|›d|›�}t          ddg¬	¦  «        }d
|›d|›d�|d<   ‰                     |¦  «         |||<   ||d         |<   ŒWŒ‹| d                              ‰¦  «         t          ‰¦  «        }	dg}
|
fd„}| d         }t          | ¦  «        }t          | ¦  «        }| d         }t          | ¦  «        }d 
                    |¦  «        }|rB |d| d         ›d|›d|›d�¦  «         |r |d¦  «         |s |d| d         ›d|›�¦  «         n/ |d|›d|›d�¦  «         |r |d¦  «         |	s |d|z  ¦  «         |	rT| d                              d¦  «        D ]8}|                     ¦   «                              d¦  «        rd|vr ||¦  «         Œ9g }|D ]:}t          ||         ¦  «        r# |d|z  ¦  «         |                     |¦  «         Œ;|D ]L}||v rŒt          ||         ¦  «        r0 |t!          |||¬¦  «        ¦  «         |                     |¦  «         ŒM|D ]"}||v rŒ |t!          |||¬¦  «        ¦  «         Œ#|	rn|rnk |d¦  «         | d                              d¦  «        D ]9}|                     ¦   «                              d¦  «        rd|v rŒ. ||¦  «         Œ: |d¦  «         d 
                    ˆfd „|D ¦   «         ¦  «        }|s |d!|›d"|›d�¦  «         |r |d#| d         ›d|›�¦  «         n |d$¦  «         |
d%         S )&Nr%   r9   r"   r   r:   r;   r<   r=   r>   r@   rA   r   r    r   c                 ó&   — |d         ›d| ›�|d<   d S rC   rD   rE   s     r,   rH   zcreatesubrwrapper.<locals>.addÞ   rI   r.   rJ   rQ   rR   rS   rT   rW   rU   rV   rX   rY   rZ   r[   r\   r]   r^   r_   c                 ó   •— g | ]}|‰v¯|‘Œ	S rD   rD   ra   s     €r,   rP   z%createsubrwrapper.<locals>.<listcomp>  rc   r.   zcall r   rd   re   r   )r   rf   r1   rg   rh   ri   rj   r   r   r7   r$   rl   rm   rn   r   r   r-   )r2   ro   r%   r&   rp   rq   rr   rs   rt   ru   rG   rH   rJ   rv   r(   r9   r3   r|   rF   r}   rb   s                       @r,   Úcreatesubrwrapperr‚   Ê   sÅ  ø€ Ý˜ÑÔÐÐÐà€JØ�Œ<€DØ�&Œ\ð 	'ð 	'ˆØ�ŒL˜ŒOˆÝ˜aŸeše K°Ñ4Ô4Ñ5Ô5ð 	'ð 	'‰DˆAˆqØ�CŠxˆxˆxØ&' a a¨¨Ð+�Ý 9°f°XÐ>Ñ>Ô>��Ø-.¨Q¨Q°°°Ð2��3‘Ø×!Ò! "Ñ%Ô%Ð%Ø��R‘Ø$&��+”˜qÑ!øð	'ð 	ˆ„L×Ò˜
Ñ#Ô#Ð#Ý˜*Ñ%Ô%€Nàˆ$€Càð 1ð 1ð 1ð 1à�Œ<€DÝ  Ñ&Ô&€KÝ˜dÑ#Ô#€Gà�Œ<€Då˜tÑ$Ô$€GØ�IŠI�d‰OŒO€EØð /ØˆˆØ�,ÔÐÐ    u u uð.ñ 	/ô 	/ð 	/àð 	%ØˆCÐ#Ñ$Ô$Ð$Øð 	IØˆCˆC t¨LÔ'9Ð'9Ð'9¸;¸;ÐGÑHÔHÐHøàˆˆ¨D¨D¨D°%°%°%Ð8Ñ9Ô9Ð9Øð 	%ØˆCÐ#Ñ$Ô$Ð$Øð 	/ØˆC� Ñ-Ñ.Ô.Ð.àð ØÐ*Ô+×1Ò1°$Ñ7Ô7ð 	ð 	ˆDØ�{Š{‰}Œ}×'Ò'¨Ñ/Ô/ð °JÀdÐ4JÐ4JØ��D‘	”	�	øà€KØð "ð "ˆÝ�d˜1”gÑÔð 	"ØˆC� Ñ#Ñ$Ô$Ð$Ø×Ò˜qÑ!Ô!Ð!øØð "ð "ˆØ�ÐÐØÝ�D˜”GÑÔð 	"ØˆC•˜t Q°Ð8Ñ8Ô8Ñ9Ô9Ð9Ø×Ò˜qÑ!Ô!Ð!øØð 6ð 6ˆØ�ÐÐØØˆ�N˜4 ¨GÐ4Ñ4Ô4Ñ5Ô5Ð5Ð5àð 
!Øð 		!ààˆC�ÑÔÐØÐ.Ô/×5Ò5°dÑ;Ô;ð ð �Ø—;’;‘=”=×+Ò+¨FÑ3Ô3ð ¸
ÀdÐ8JÐ8JØØ��D‘	”	�	�	ØˆC�Ñ Ô Ð à�IŠIÐ>Ð>Ð>Ð> $Ð>Ñ>Ô>Ñ?Ô?€Eàð 2Øˆˆ˜[˜[˜[¨%¨%¨%Ð0Ñ1Ô1Ð1Øð Øˆˆ¨t°LÔ/AÐ/AÐ/AÀ4À4ÐHÑIÔIÐIÐIàˆˆE‰
Œ
ˆ
ØˆqŒ6€Mr.   c                 ó  — t          | ¦  «        �rt          | ¦  «        }| d         }t          d|›d|›d�¦  «         t          j        | ¦  «        } |}|}d| v r| d         }| d         |         | d         |<   | d         |         }t	          |¦  «        sjd|vrg |d<   |d                              d¦  «         d	}|d         D ]}|                     d
¦  «        rd} nŒ|r|d                              d|z  ¦  «         |g| d         z   | d         d d …<   | t          | ¦  «        fS t          | ¦  «        rRt          | ¦  «        }| d         }t          d|›d|›d�¦  «         t          j        | ¦  «        } | t          | ¦  «        fS | dfS )NrJ   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	   rh   rn   r~   r   r‚   )r2   rv   rJ   ÚfnameÚrnameÚfvarÚflagrq   s           r,   Úassubrr‹   "  sâ  € Ý�tÑÔñ -Ý$ TÑ*Ô*ˆØ�FŒ|ˆÝˆØˆDˆD�+�+�+ðñ 	 ô 	 ð 	 åŒy˜‰ŒˆØˆØˆØ�tÐÐØ˜”NˆEØ"& v¤,¨uÔ"5ˆD�ŒL˜ÑØ�FŒ|˜EÔ"ˆÝ˜DÑ!Ô!ð 
	:Ø˜tÐ#Ð#Ø!#��X‘Ø�ŒN×!Ò! %Ñ(Ô(Ð(ØˆDØ˜(”^ð ð �Ø—<’< Ñ'Ô'ð Ø�DØ�Eðð ð :Ø�X”×%Ò% h°%Ñ&8Ñ9Ô9Ð9Ø ˜' D¨¤LÑ0ˆˆVŒ�Q�Q�Q‰ØÕ& tÑ,Ô,Ð,Ð,Ý˜ÑÔð -Ý$ TÑ*Ô*ˆØ�FŒ|ˆÝˆØ�4�4˜˜˜ð&ñ 	'ô 	'ð 	'åŒy˜‰ŒˆØÕ& tÑ,Ô,Ð,Ð,Ø�ˆ8€Or.   )NN)r   )Ú__doc__r†   Úauxfuncsr   r   r   r   r   r	   r
   r   r   r   r   r   r   Ú	_isocbindr   r-   r7   r~   r‚   r‹   rD   r.   r,   ú<module>r�      s3  ðð
ð 
ð €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð $Ð #Ð #Ð #Ð #Ð #ð.ð .ð .ð .ð`ð ð ðyð yð yð yðxUð Uð Uð Uðp!ð !ð !ð !ð !r.   