§ y<ˆjÜ$ãó —dZddd…ZdZddlZddlmZdd lmZdd lm Z m Z dd l TiZ d „Z d ej¦«jzZdZdZd„ZdS)aJ Build F90 module support for f2py2e. Copyright 2000 Pearu Peterson all rights reserved, Pearu Peterson 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. $Date: 2005/02/03 19:30:23 $ Pearu Peterson z$Revision: 1.27 $é éÿÿÿÿz See `f2py -v`éNé)Ú capi_maps)Ú func2subr)Úundo_rmbadnameÚundo_rmbadname1)Ú*cóÔ—t|¦«r|gSt|¦«sgSg}|dD]9}t|¦«r| |¦«Œ'|t|¦«z}Œ:|S)NÚbody)ÚismoduleÚhasbodyÚappendÚfindf90modules)ÚmÚretÚbs úk/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/f2py/f90mod_rules.pyrr"sz€Ý��{„{ð؈sˆ Ý �1‰:Œ:ðØˆ Ø €CØ ˆvŒYð*ð*ˆÝ �A‰;Œ;ð *Ø �JŠJ�q‰MŒMˆMˆMà� qÑ)Ô)Ñ)ˆCˆCØ €Jóa� external f2pysetdata logical ns integer r,i integer(%d) s(*) ns = .FALSE. if (allocated(d)) then do i=1,r if ((size(d,i).ne.s(i)).and.(s(i).ge.0)) then ns = .TRUE. end if end do if (ns) then deallocate(d) end if end if if ((.not.allocated(d)).and.(s(1).ge.1)) thenz« end if if (allocated(d)) then do i=1,r s(i) = size(d,i) end do end if flag = 1 call f2pysetdata(d,allocated(d))zÕ end if if (allocated(d)) then do i=1,r s(i) = size(d,i) end do !s(r) must be equal to len(d(1)) end if flag = 2 call f2pysetdata(d,allocated(d))cóª—ddlm}gggddgdddœdggdœ}d g}|fd „}d g}|fd „}t|¦«D� ]Û}gggg|d ggf\}} } } } } g}g}g}t|¦«r&|d D]}|  |d ¦«Œ|d ¦«D]a}|d|}|| vrMt tt¦«|¦«s*|  |¦«| |¦«Œbtd|d z¦«| r%tdd  | ¦«z¦«d g}|fd„}d g}|fd„}tj |¦«}|d|d z¦«|d|d z¦«t|¦«r=|d}t|t¦«rd  |¦«}||¦«| r |d¦«| D�])}|d|}|  |¦«tj|¦«}tj|}tj||¦«}|d dd¦« ¦«}| dd¦« ¦«}|sd}t*}|dt-|¦«›d|d›d|›d |›d!tj|¦«›d"� ¦«|d#tj||¦«z¦«t|¦«r@|d}t|t¦«rd  |¦«}|d$|z¦«t3|¦«�rM|  d%|d ›d&|›�¦«|  | d'¦«| d(|z¦«| d)¦«|d*|d ›d+|›d,�¦«|d-| d'z¦«|d.|d ›d/t-|¦«›d�¦«|d0¦«|d1t4z|d1<t7dt9|d¦«dz¦«}|d2d3  d4„|D¦«¦«z¦«|d1|z|d1<|d5| d'z¦«�ŒÏ|  |¦«| d6|z¦«| d7¦«|d*|d ›d8|›d,�¦«�Œ+| r |d9¦«t|¦«�r>|d D�]4}t;|¦«s#td:|d;›d|d ›d�¦«Œ5|  d<|d z¦«|d |d=<| |¦«\}} t?|¦«r_|d1| z|d1<|  d>|d ›d?|d ›�¦«| tAj!|d¬@¦«¦«n—| r_|d1| z|d1<|  d>|d ›d?|d ›�¦«| tAj"|d¬@¦«¦«n6|  |d ¦«| | d'¦«g|dA<tG||¦«}!g|!dB<g|!dC<tI||!¦«}|d|d ›dD|d ›d?|d ›dE|d ›d?|d ›d"� ¦«| d6|d z¦«| dF¦«|d*|d ›d8|d ›d,�¦«�Œ6|dG¦«|dH¦«dI|d ›dJd3  |¦«›dK|d1›�|d1<d?|d vrdL}"nd}"|dM|"›dN|d ›dO|d  %¦«›dPd3  |¦«›dQ� ¦«|dR|d z¦«|dS|"›dN|d ›dO|d  %¦«›dT|d ›dU� ¦«|dV¦«|dW|z|z|dW<dX|d ›dY|d ›dZ|d ›dQ�g|d[z|d[<|d ¦«|d\|d z¦«|r)tM|¦«D]}#|d.|d ›d]|#›�¦«Œ|r-|d  d^g|z¦«¦«|d_¦«|d`¦«| r tM| ¦«D]}#|da|#z¦«Œ|dbd3  tM| ¦«¦«z¦«|dc|d z¦«|d  |dd¦« dedf¦«¦«g|dd<|dB dg|d ›dhd3  tM| ¦«¦«›di�¦«� ŒÝd |dj<g|dk<g|dC<|d1|dd<tO|dB¦«dkrd |dB<||d1fS)lNr)ÚrulesÚF_FUNCz arrayobject.hú )Ú includes0Úincludesz"Fortran 90/95 modules:\n")Ú f90modhooksÚinitf90modhooksr ÚneedÚ separatorsforÚdocsÚlatexdocÚcó&—|d›d|›�|d<dS)Nrz ©©ÚlineÚss rÚfaddzbuildhooks..fadd`s€Ø!" 1¤   t tÐ,ˆˆ!‰ˆˆrcó&—|d›d|›�|d<dS©Nrrr$r%s rÚdaddzbuildhooks..daddds€Ø˜Qœ4˜4˜4  Ð&ˆˆ!‰ˆˆrÚnamer Úvarsz. Constructing F90 module support for "%s"... z Variables: %s ú có&—|d›d|›�|d<dSr*r$r%s rÚcaddzbuildhooks..caddzó€Ø  œt˜t˜t T TÐ*ˆAˆa‰DˆDˆDrcó&—|d›d|›�|d<dSr*r$r%s rÚiaddzbuildhooks..iadd~r1rz'static FortranDataDef f2py_%s_def[] = {z.\subsection{Fortran 90/95 module \texttt{%s}} Únotez\begin{description}Údimsr z-1ú:z {"z",Úrankz,{{z}},z, z},z\item[]{{}\verb@%s@{}}z--- %sÚf2py_Ú _getdims_rz.void (*%s)(int*,int*,void(*)(char*,int*),int*)z,void (*)(int*,int*,void(*)(char*,int*),int*)z f2py_z_def[i_f2py++].func = ú;z#subroutine %s(r,s,f2pysetdata,flag)zuse z , only: d => z integer flag rz allocate(d(%s)) ú,có—g|]}d|z‘ŒS)zs(%s)r$)Ú.0Úis rú zbuildhooks..®s€Ð9Ð9Ð9° ¨!¡ Ð9Ð9Ð9rzend subroutine %szchar *%szchar*z_def[i_f2py++].data = z\end{description}z"f90mod_rules.buildhooks: skipping Úblockz%s()Ú modulenameÚ f2pywrap_Ú_)Ú signatureÚexternroutinesr Údocshortz4",-1,{{-1}},0,0,NULL,(void *)f2py_rout_#modulename#_z,doc_f2py_rout_#modulename#_zchar *z {NULL} }; Ú}zstatic void f2py_setup_ú(z) { int i_f2py=0;Ú F_FUNC_USz extern void z (f2pyinitz ,F2PYINITz )(void (*)(z));z static void f2py_init_%s(void) {ú z )(f2py_setup_z);z} rz PyDict_SetItemString(d, "z", PyFortranObject_New(f2py_z_def,f2py_init_rz$subroutine f2pyinit%s(f2pysetupfunc)z , only : Ú interfacez end interfacezexternal f2pysetupfuncz external %szcall f2pysetupfunc(%s)zend subroutine f2pyinit%s r!z \subsection{z\subsubsection{z" z --- ú"Ú routine_defsÚdoc)(r"rrrrÚkeysÚl_orÚ isintent_hideÚ isprivateÚoutmessÚjoinrÚ modsign2mapÚhasnoteÚ isinstanceÚlistÚgetctypeÚ c2capi_mapÚ getarrdimsÚreplaceÚstripÚ fgetdims2r Ú get_elsizeÚ getarrdocsignÚ isallocatableÚ fgetdims1ÚrangeÚintÚ isroutineÚbuildapiÚ isfunctionrÚcreatefuncwrapperÚcreatesubrwrapperÚ applyrulesÚ dictappendÚupperrÚlen)$ÚpymodrrÚfhooksr(rNr+rÚsargsÚfargsÚefargsÚmodobjsÚnotvarsÚonlyvarsÚsargspÚifargsÚmfargsrÚnÚvarÚchooksr0Úihooksr3Úvrdr4ÚctÚatÚdmÚdmsÚ use_fgetdims2ÚapiÚwrapÚarrÚas$ rÚ buildhooksr‡Wsº €ØÐÐÐÐÐØ°¸RؘoÐ.Ø*.¸DÐAÐAØ1Ð2Øð  ð €Cð ˆT€Fàð-ð-ð-ð-à ˆ$€Càð'ð'ð'ð'å ˜EÑ "Ô "ðZRñZRˆØ;=¸rÀ2ÀrØ ˆfŒIðLØð<Ñ8ˆˆu�f˜g w°àˆØˆØˆÝ �1‰:Œ:ð *Ø�v”Yð *ð *�Ø—’˜q œyÑ)Ô)Ð)Ð)Ø�6”—’Ñ!Ô!ð !ð !ˆAØ�F”)˜A”,ˆCؘРРÐ+I­4µ ½yÑ+IÔ+IÈ#Ñ+NÔ+NÐ Ø—’ Ñ"Ô"Ð"Ø— ’ ˜aÑ Ô Ð øÝÐCØ�6”ññ ô ð à ð DÝ Ð+¨s¯xªx¸Ñ/AÔ/AÑBÑ CÔ CÐ CØ�ˆàð +ð +ð +ð +à�ˆàð +ð +ð +ð +õÔ# AÑ&Ô&ˆØ ˆÐ 6¸!¸F¼)Ñ DÑEÔEÐEØ ˆÐ @ÀAÀfÄIÑ NÑOÔOÐOÝ �1‰:Œ:ð Ø�V”9ˆDݘ$¥Ñ%Ô%ð 'Ø—y’y ‘”�Ø ˆD�‰JŒJˆJØ ð )Ø ˆDÐ'Ñ (Ô (Ð (Øð* Lñ* LˆAØ�F”)˜A”,ˆCØ �NŠN˜1Ñ Ô Ð ÝÔ# CÑ(Ô(ˆBÝÔ% bÔ)ˆBÝÔ% a¨Ñ-Ô-ˆBØ�V”*×$Ò$ S¨$Ñ/Ô/×5Ò5Ñ7Ô7ˆCØ—+’+˜c 4Ñ(Ô(×.Ò.Ñ0Ô0ˆCØð Ø�Ý%ˆMØ ˆDˆDÝ! !Ñ$Ô$Ð$Ð$ b¨¤j j j°#°#°#°r°r°rÝÔ& sÑ+Ô+Ð+Ð+ð-ñ .ô .ð .ð ˆDÐ+ÝÔ)¨!¨SÑ1Ô1ñ3ñ 4ô 4ð 4å�s‰|Œ|ð (ؘ6”{�ݘd¥DÑ)Ô)ð+ØŸ9š9 T™?œ?�DØ��X Ñ&Ñ'Ô'Ð'ݘSÑ!Ô!ñ LØ— ’ � °Q°v´Y°Y°YÀÀÐBÑCÔCÐCØ— ’ ˜e BœiÑ(Ô(Ð(Ø— ’ ØDÈÑJñLôLðLà— ’ ÐLÑMÔMÐMØ��¸Q¸v¼Y¸Y¸YÈÈÈÐJÑKÔKÐKØ�Ð:¸eÀB¼iÑHÑIÔIÐIØ��ؘ”i�i�i¥°Ñ!3Ô!3Ð!3Ð!3ð5ñ6ô6ð6à�Ð%Ñ&Ô&Ð&Ø" 1œI­ Ñ1��q‘ ݘA�s 2 f¤:™œ°Ñ2Ñ3Ô3�Ø�Ð)Ø—h’hÐ9Ð9°SÐ9Ñ9Ô9Ñ:Ô:ñ<ñ=ô=ð=à" 1œI¨ Ñ5��q‘ Ø�Ð(¨E°"¬IÑ6Ñ7Ô7Ð7Ñ7à— ’ ˜Q‘”�Ø— ’ ˜Z¨1Ñ-Ñ.Ô.Ð.Ø— ’ ˜gÑ&Ô&Ð&Ø��¸Q¸v¼Y¸Y¸YÈÈÈÐJÑKÔKÐKÑKØ ð 'Ø ˆDÐ%Ñ &Ô &Ð &Ý �1‰:Œ:ñ" -Ø�v”Yð! -ñ! -�Ý  ‘|”|ðÝðDØ)*¨7¬ðDðDØ67¸´iðDðDðDñEôEðEàØ—’˜v¨¨6¬Ñ3Ñ4Ô4Ð4Ø"# F¤)��,‘Ø!ŸNšN¨1Ñ-Ô-‘ ��Tݘa‘=”=ð 1Ø & q¤ ¨DÑ 0�F˜1‘IØ—L’L�L°Q°v´Y°Y°YÀÀ&Ä À Ð!JÑKÔKÐKØ—M’M¥)Ô"=¸aÈ1Ð"MÑ"MÔ"MÑNÔNÐNÐNàð1Ø$*¨1¤I°Ñ$4˜˜q™ ØŸ š ˜ ¸¸6¼¸¸ÀAÀfÄIÀIÐ%NÑOÔOÐOØŸ š Ý%Ô7¸ÀQÐGÑGÔGñIôIðIðI🠚  Q v¤YÑ/Ô/Ð/ØŸ š  e¨B¤iÑ0Ô0Ð0Ø(*�Ð$Ñ%Ý  SÑ)Ô)�Ø��6‘ Ø!#��:‘Ý   bÑ)Ô)�Ø��ð˜&œ ˜ ˜  1 V¤9 9 9¨a°¬i¨i¨i¸¸6¼¸¸ÀAÀfÄIÀIÀIðOñPôPðPð— ’ ˜Z¨1¨V¬9Ñ5Ñ6Ô6Ð6Ø— ’ ˜hÑ'Ô'Ð'Ø��ؘ”i�i�i  6¤  ð,ñ-ô-ð-ñ-à ˆÐ ÑÔÐØ ˆˆS‰ Œ ˆ ˆ à ˆfŒIˆIˆI�s—x’x ‘”��¨¨q¬ ¨ ð3ˆˆq‰ à �!�F”)Ð Ð Ø ˆFˆFàˆFØ ˆˆØ��˜˜&œ ˜ ˜  1 V¤9§?¢?Ñ#4Ô#4Ð#4Ð#4°c·h²h¸vÑ6FÔ6FÐ6FÐ6FðHñ Iô Ið Ià ˆÐ /°1°V´9Ñ =Ñ>Ô>Ð>Ø ˆˆØ��˜˜&œ ˜ ˜  1 V¤9§?¢?Ñ#4Ô#4Ð#4Ð#4°a¸´i°i°iðAñ Bô Bð Bà ˆˆU‰ Œ ˆ Ø  Ô/°&Ñ8¸6ÑAˆˆMÑÐà ˆfŒIˆIˆI�q˜”y�y�y ! F¤) ) )ð#-ð".Ø03Ð4EÔ0Fñ"GˆÐ Ñà ˆˆR‰ŒˆØ ˆÐ 3°q¸´yÑ AÑBÔBÐBØ ð ;Ý# FÑ+Ô+ð ;ð ;�Ø��¨A¨f¬I¨I¨I°q°qÐ9Ñ:Ô:Ð:Ð:Ø ð "Ø ˆD�—’˜;˜-¨&Ñ0Ñ1Ô1Ñ 2Ô 2Ð 2Ø ˆD�Ñ !Ô !Ð !Ø ˆÐ %Ñ&Ô&Ð&Ø ð *Ý# FÑ+Ô+ð *ð *�Ø��] aÑ(Ñ)Ô)Ð)Ð)Ø ˆÐ %¨¯ªµ.ÀÑ2GÔ2GÑ)HÔ)HÑ IÑJÔJÐJØ ˆÐ *¨a°¬iÑ 8Ñ9Ô9Ð9à ˆˆT�YŠY�s˜:”Ñ 'Ô '× /Ò /Ø Ð/ñ1ô1ñ 2ô 2ð 2ðˆˆJ‰Ø ˆFŒ ×ÒШa°¬i¨i¨iØ.1¯hªhµ~ÀgÑ7NÔ7NÑ.OÔ.OÐ.OÐ.OðQñ Rô Rð Rñ Rð€CˆÑØ€Cˆ�JØ€Cˆ �Oؘ!”f€Cˆ �OÝ ˆ3ˆvŒ;ÑÔ˜1ÒÐØˆˆF‰ Ø ��q” ˆ>Ðr)Ú__doc__Ú __version__Ú f2py_versionÚnumpyÚnpr"rrÚ crackfortranrr ÚauxfuncsÚoptionsrÚintpÚitemsizerbr^Ú fgetdims2_sar‡r$rrúr“sØðð ð ð" " R %Ô(€ à€ àÐÐÐàÐÐÐÐÐØÐÐÐÐÐØ9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ð ÐÐÐà €ð ð ð ð 7ð :A¸¼¹¼Ô9Kñ! L€ ð$ *€ ð *€ ðqðqðqðqðqr