hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Ë
Kñúh_'ãóœ—dZdddZdZddlZddlmZmZdd    l­dd
l    m
Z
m Z iZ d „Z d ej«jzZd ZdZd„Zy)a2
Build F90 module support 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.
z$Revision: 1.27 $é
éÿÿÿÿz See `f2py -v`éNé)Ú    capi_mapsÚ    func2subr)Ú*)Úundo_rmbadnameÚundo_rmbadname1cóª—t|«r|gSt|«sgSg}|dD]-}t|«r|j|«Œ |t|«z}Œ/|S)NÚbody)ÚismoduleÚhasbodyÚappendÚfindf90modules)ÚmÚretÚbs   úJH:\Change_password\venv_build\Lib\site-packages\numpy/f2py/f90mod_rules.pyrrs\€Ü„{؈sˆ
Ü 1Œ:؈    Ø
€CØ ˆv‰Yò*ˆÜ AŒ;Ø J‰JqMàœ qÓ)Ñ)‰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|«}t|«D]_}gggg|d ggf\}    }
} } } }g}g}g}t    |«r|d D]}| j |d «Œ|dj «D]X}|d|}|| vsŒt|«sŒttt«|«rŒ7|j |«|j |«ŒZtd|d ›d«t|«dk(r(t| «dk(r|d | vrtd|d ›d«Œü|d |vrt|«rtd|d ›d«Œ"|d |vrt|«rtd|d ›d«ŒH|rtddj|«›d«d    g}|fd„}d    g}|fd„}t!j"|«}|d|d z«|d|d z«t%|«r.|d}t'|t(«rdj|«}||«|r|d«|D]•}|d|}| j |«t!j*|«}t j,|}t!j.||«}|dj1dd «j3«}|j1d!d «j3«}|sd }t4}|d"t7|«›d#|d$›d%|›d&|›d't!j8|«›d( «|d)t!j:||«z«t%|«r1|d}t'|t(«rdj|«}|d*|›«t=|«r|
j d+|d ›d,|›«| j |
d-«|    j d.|›d/«|j d0«|d1|d ›d2|›d3«|d4|
d-›d5«|d6|d ›d7t7|«›d«|d8«|dt>z|d<tAdtC|d$«dz«}|d9d:j|D cgc]} d;| z‘Œ    c} «z«|d|z|d<|d<|
d-›«ŒN|
j |«|    j d=|›«|j d>«|d1|d ›d?|›d3«Œ˜|r|d@«t    |«rÁ|d D]¸}tE|«stdA|dB›d|d ›d«Œ(| j |d ›dC«|d |dD<|jG|«\}!}"tI|«rO|d|"z|d<|
j dE|d ›dF|d ›«|j tKjL|d¬G««ny|"rO|d|"z|d<|
j dE|d ›dF|d ›«|j tKjN|d¬G««n(|
j |d «|j |
d-«g|!dH<tQ|!|«}#g|#dI<g|#dJ<tS||#«}|d"|d ›dK|d ›dF|d ›dL|d ›dF|d ›d( «|    j d=|d ›«|j d=«|d1|d ›d?|d ›d3«Œ»|dM«|dN«dO|d ›dPd:j|    «›dQ|d›|d<dF|d vrdR}$nd}$|dS|$›dT|d ›dU|d jU«›dVd:j|«›dW    «|dX|d z«|dY|$›dT|d ›dU|d jU«›dZ|d ›d[    «|d\«|d]|z|z|d]<d^|d ›d_|d ›d`|d ›dWg|daz|da<|d    «|db|d ›dc«|r!tW|«D]}%|d6|d ›dd|%›«Œ|r#|djdeg|z««|df«|dg«| rtW| «D] }%|dh|%›«Œ|did:jtW|
««›dj«|dk|d ›d«|dj|dl«j1dmdn««g|dl<|dIj do|d ›dpd:jtW| ««›dq«Œbd    |dr<g|ds<g|dJ<|d|dl<t|dI«dkrd    |dI<||dfScc} w)tNr)ÚrulesÚF_FUNCz arrayobject.hú
)Ú    includes0Úincludesz"Fortran 90/95 modules:\n")Ú f90modhooksÚinitf90modhooksr ÚneedÚ separatorsforÚdocsÚlatexdocÚcó—|d›d|›|d<y)Nrz
      ©©ÚlineÚss  rÚfaddzbuildhooks.<locals>.fadd[s€ØA‘$x ˜vÐ&ˆˆ!Šrcó—|d›d|›|d<y©Nrrr$r%s  rÚdaddzbuildhooks.<locals>.dadd_s€ØA‘$r˜$˜Ð ˆˆ!ŠrÚnamer Úvarsz'        Constructing F90 module support for "z"...
rz             Skipping z7 since there are no public vars/func in this module...
z5 since it is in 'use' and contains a common block...
z5 since it is in 'use' and contains a derived type...
z          Variables: ú có—|d›d|›|d<yr*r$r%s  rÚcaddzbuildhooks.<locals>.caddƒó€Ø˜‘dV˜2˜d˜VÐ$ˆAˆaŠDrcó—|d›d|›|d<yr*r$r%s  rÚiaddzbuildhooks.<locals>.iadd‡r1rz'static FortranDataDef f2py_%s_def[] = {z.\subsection{Fortran 90/95 module \texttt{%s}}
Únotez\begin{description}Údimsrz-1ú:z    {"z",Úrankz,{{z}},z, z},z\item[]{{}\verb@%s@{}}z--- Úf2py_Ú    _getdims_rzvoid (*z/)(int*,npy_intp*,void(*)(char*,npy_intp*),int*)z6void (*)(int*,npy_intp*,void(*)(char*,npy_intp*),int*)z    f2py_z_def[i_f2py++].func = ú;z subroutine z(r,s,f2pysetdata,flag)zuse z , only: d => z integer flag
z allocate(d(%s))
ú,zs(%s)zend subroutine zchar *zchar*z_def[i_f2py++].data = z\end{description}z"f90mod_rules.buildhooks: skipping Úblockz()Ú
modulenameÚ    f2pywrap_Ú_)Ú    signatureÚexternroutinesr Údocshortz4",-1,{{-1}},0,0,NULL,(void *)f2py_rout_#modulename#_z,doc_f2py_rout_#modulename#_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_rzsubroutine f2pyinitz(f2pysetupfunc)z    , only : Ú    interfacez end interfacezexternal f2pysetupfuncz    external zcall f2pysetupfunc(ú)zend subroutine f2pyinitr!z \subsection{z\subsubsection{z"    z --- ú"Ú routine_defsÚdoc),r"rÚ getuseblocksrrrÚkeysÚ
isvariableÚl_orÚ isintent_hideÚ    isprivateÚoutmessÚlenÚcontainscommonÚcontainsderivedtypesÚ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    )&ÚpymodrrÚfhooksr(rKr+ÚusenamesrÚsargsÚfargsÚefargsÚmodobjsÚnotvarsÚonlyvarsÚsargspÚifargsÚmfargsrÚnÚvarÚchooksr0Úihooksr3Úvrdr4ÚctÚatÚdmÚdmsÚ use_fgetdims2ÚiÚapiÚwrapÚarrÚas&                                      rÚ
buildhooksrŠRsÙ    €Ýذ¸RؘoÐ.Ø*.¸DÑAØ1Ð2Øñ     €Cð
ˆT€Fàó'à ˆ$€Càó!ô˜EÓ"€HÜ ˜EÓ "óbYˆØ;=¸rÀ2ÀrØ ˆf‰IðLØð<Ñ8ˆˆuf˜g w°àˆØˆØˆÜ 1Œ:ؐv‘Yò *Ø—‘˜q ™yÕ)ð *à6‘—‘Ó!ò    !ˆAؐF‘)˜A‘,ˆCà˜Ò ¤Z°¥_Ð?]¼tÄMÔS\Ó?]Ð^aÕ?bØ—‘ Ô"Ø— ‘ ˜aÕ ð     !ô     Ð<¸Q¸v¹Y¸KÀwÐOÔPÜ ˆx‹=˜AÒ ¤# g£,°!Ò"3¸¸&¹    ÀWÑ8LÜ o a¨¡i [Ð0hÐiÔ jØ ð ˆV‰9˜Ñ  ¤^°AÔ%6Ü o a¨¡i [Ð0fÐgÔ hÙ à ˆV‰9˜Ñ  Ô%9¸!Ô%<Ü o a¨¡i [Ð0fÐgÔ hÙ Ù Ü Ð'¨¯©°Ó(:Ð';¸2Ð>Ô ?ؐˆàó    %àˆàó    %ô×#Ñ# AÓ&ˆÙ Ð 6¸!¸F¹)Ñ DÔEÙ Ð @ÀAÀfÁIÑ NÔOÜ 1Œ:ؐV‘9ˆDܘ$¤Ô%Ø—y‘y “Ù ŒJÙ Ù Ð'Ô (Øó)    FˆAؐF‘)˜A‘,ˆCØ N‰N˜1Ô Ü×#Ñ# CÓ(ˆBÜ×%Ñ% bÑ)ˆBÜ×%Ñ% a¨Ó-ˆBؐV‘*×$Ñ$ S¨$Ó/×5Ñ5Ó7ˆCØ—+‘+˜c 4Ó(×.Ñ.Ó0ˆCÙØÜ%ˆMÚ Ü! !Õ$ b¨£j²#²rÜ×&Ñ& sÕ+ð-ô .ñ Ð+Ü×)Ñ)¨!¨SÓ1ñ3ô 4äsŒ|ؘ6‘{Ü˜d¤DÔ)ØŸ9™9 T›?Dِt˜D˜6]Ô#ܘSÕ!Ø— ‘ ˜u Q v¡Y K¨y¸¸Ð<Ô=Ø— ‘ ˜e B™iÔ(Ø— ‘ ؘa˜SРOÐPôRà— ‘ ÐVÔWِw˜q ™y˜kÐ)?À¸sÀ!ÐDÔEِ{ 5¨¡9 +Ð-CÐDÔEِt˜A˜f™I˜; m´OÀAÓ4FÐ3GÀrÐJÔKÙÐ%Ô&Ø" 1™I¬    Ñ1q‘    Ü˜Aœs 2 f¡:›°Ñ2Ó3ÙÐ)Ø—h‘h°SÖ9° ¨!£ Ò9Ó:ñ<ô=à" 1™I¨ Ñ5q‘    Ù u¨R¡y kÐ2Ö3à— ‘ ˜Q”Ø— ‘ ˜v a S˜\Ô*Ø— ‘ ˜gÔ&ِw˜q ™y˜kÐ)?À¸sÀ!ÐDÖEðS)    FñT Ù Ð%Ô &Ü 1:ؐv‘Yó NÜ  ”|Üð)Ø)*¨7©¨ °A°a¸±i°[ÀðDôEàØ—‘ ! F¡) ¨BÐ/Ô0Ø"# F¡),‘Ø!ŸN™N¨1Ó-‘    Tܘa”=Ø & q¡    ¨DÑ 0F˜1‘IØ—L‘L 9¨Q¨v©Y¨K°q¸¸6¹¸ Ð!DÔEØ—M‘M¤)×"=Ñ"=¸aÈ1Ô"MÕNÙØ & q¡    ¨DÑ 0F˜1‘IØ—L‘L 9¨Q¨v©Y¨K°q¸¸6¹¸ Ð!DÔEØ—M‘MÜ!×3Ñ3°AÀÔCõEð—L‘L  6¡Ô+Ø—M‘M %¨¡)Ô,Ø(*Ð$Ñ%Ü  SÓ)Ø6‘
Ø!#:‘Ü   bÓ)Úð˜&›     1 V£9¨a°«i¸¸6»ÀAÀfÃIðOôPð— ‘ ˜v a¨¡i [Ð1Ô2Ø— ‘ ˜hÔ'ِw˜q ™y˜kÐ)?ÀÀ&Á    ¸{È!ÐLÖMð? Nñ@     Ð ÔÙ ˆS    à ˆf‹Is—x‘x •¨¨qª    ð3ˆˆq‰    à !F‘)Ñ Ø ‰FàˆFÚ Ú˜˜&›     1 V¡9§?¡?Õ#4°c·h±h¸vÕ6FðHô    Iá Ð /°1°V±9Ñ =Ô>Ú Ú˜˜&›     1 V¡9§?¡?Õ#4°a¸³iðAô    Bá ˆUŒ Ø  Ñ/°&Ñ8¸6ÑAˆˆMÒà ˆf‹Iq˜“y ! F£)ð#-ð".Ø03Ð4EÑ0Fñ"GˆÐ Ñá ˆRŒÙ Ð" 1 V¡9 +¨_Ð =Ô>Ù Ü# FÓ+ò 5Ùt˜A˜f™I˜; i°¨sÐ3Õ4ð 5á Ù —‘˜;˜-¨&Ñ0Ó1Ô 2Ù Ô !Ù Ð %Ô&Ù Ü# FÓ+ò &Ùy  _Õ%ð &á Ð" 3§8¡8¬N¸5Ó,AÓ#BÐ"CÀ1Ð EÔFÙ Ð& q¨¡y k°Ð 4Ô5á ˆTY‰Ys˜:‘Ó '× /Ñ /Ø Ð/ó1ô    2ðˆˆJ‰Ø ˆF‰ ×јT ! F¡) ¨E°#·(±(¼>È'Ó;RÓ2SÐ1TÐTVÐWÖXðEbYðH€CˆÑØ€CˆJØ€Cˆ
Oؘ!‘f€Cˆ
OÜ
ˆ3ˆv‰;Ó˜1ÒØˆˆF‰ Ø q‘    ˆ>Ðùòo :sÑ c)Ú__doc__Ú __version__Ú f2py_versionÚnumpyÚnpr"rrÚauxfuncsÚ crackfortranr    r
ÚoptionsrÚintpÚitemsizerdr`Ú fgetdims2_sarŠr$rrú<module>r–sjðñ    ð" " RÐ(€ à€ ãç"ô
ß9à
€ò ð 7ð :A¸¿¹»×9KÑ9Kñ! L€    ð$ *€    ð    *€ ó{r