hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
Ë
KñúhÂAãóø—ddlZddlZddlZddlZddlZddlZddlZddlm    Z    ddl
m Z m Z ddl mZGd„dej«ZGd„d    «ZGd
„d «ZGd „d ej«ZGd„dej«ZGd„d«ZGd„dej«ZGd„d«ZGd„dej«ZGd„dej«Zej4j6Gd„dej««ZGd„d«ZGd„dej«ZGd „d!ej«ZGd"„d#«Z Gd$„d%«Z!ej4j6Gd&„d'ej««Z"y)(éN)Ú crackfortran)ÚmarkinnerspacesÚnameargspatterné)Úutilcó>—eZdZejdddd«gZd„Zy)Ú TestNoSpaceÚtestsÚsrcrz    gh15035.fcó¼—tjgd¢tj¬«}tjgd¢tj¬«}|jj    |«tj
||dz«sJ‚|jj ||g«tj
||dz«sJ‚|jjd«dk(sJ‚y)N©réé)ÚdtyperÚ23ó2)ÚnpÚarrayÚfloat64ÚmoduleÚsubbÚallcloseÚsubcÚt0)ÚselfÚkÚws   úUH:\Change_password\venv_build\Lib\site-packages\numpy/f2py/tests/test_crackfortran.pyÚ test_modulezTestNoSpace.test_modules€Ü H‰H’Y¤b§j¡jÔ 1ˆÜ H‰H’Y¤b§j¡jÔ 1ˆØ  ‰ ×јÔ܏{‰{˜1˜a !™eÔ$Ð$Ð$Ø  ‰ ×ј!˜Q˜Ô Ü{‰{˜1˜a !™eÔ$Ð$Ð$؏{‰{~‰~˜dÓ# tÒ+Ð+Ñ+óN)Ú__name__Ú
__module__Ú __qualname__rÚgetpathÚsourcesr©r rr    r    s"„ðˆt|‰|˜G U¨N¸KÓHÐI€Gó,r r    có$—eZdZd„Zd„Zd„Zd„Zy)ÚTestPublicPrivatecóP—tjdddd«}tjt|«g«}t    |«dk(sJ‚|d}d|dd    d
vsJ‚d |dd    d
vsJ‚d|dd d
vsJ‚d |dd d
vsJ‚d|dd d
vsJ‚d |dd d
vsJ‚y)Nr
r rzprivatemod.f90rrÚprivateÚvarsÚaÚattrspecÚpublicÚbÚseta©rr$rÚstrÚlen)rÚfpathÚmods   rÚtest_defaultPrivatez%TestPublicPrivate.test_defaultPrivate sî€Ü— ‘ ˜W e¨^Ð=MÓNˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}ؐ!‰fˆØ˜C ™K¨Ñ,¨ZÑ8Ñ8Ð8Ð8ؘs 6™{¨3Ñ/°
Ñ;Ñ;Ð;Ð;ؘC ™K¨Ñ,¨ZÑ8Ñ8Ð8Ð8ؘs 6™{¨3Ñ/°
Ñ;Ñ;Ð;Ð;Ø  F¡ ¨FÑ 3°JÑ ?Ñ?Ð?Ð?ؘ3˜v™; vÑ.¨zÑ:Ñ:Ð:Ñ:r có—tjdddd«}tjt|«g«}t    |«dk(sJ‚|d}d|dd    d
vsJ‚d |dd    d
vsJ‚d|dd d
vsJ‚d |dd d
vsJ‚y) Nr
r rz publicmod.f90rrr*r+r,r-r.r0r1©rÚtmp_pathr4r5s    rÚtest_defaultPublicz$TestPublicPrivate.test_defaultPublic,sµ€Ü— ‘ ˜W e¨^¸_ÓMˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}ؐ!‰fˆØ˜C ™K¨Ñ,¨ZÑ8Ñ8Ð8Ð8ؘs 6™{¨3Ñ/°
Ñ;Ñ;Ð;Ð;Ø  F¡ ¨FÑ 3°JÑ ?Ñ?Ð?Ð?ؘ3˜v™; vÑ.¨zÑ:Ñ:Ð:Ñ:r có0—tjdddd«}tjt|«g«}t    |«dk(sJ‚|dd}t |dd    «d
d hk(sJ‚t |d d    «d d hk(sJ‚t |dd    «d hk(sJ‚y)Nr
r rzaccesstype.f90rrr+r,r-r*zbind(c)Úb_r.Úc)rr$rr2r3Úset)rr9r4r5Útts     rÚtest_access_typez"TestPublicPrivate.test_access_type6sª€Ü— ‘ ˜W e¨^Ð=MÓNˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}Ø ‰VF‰^ˆÜ2c‘7˜:Ñ&Ó'¨I°yÐ+AÒAÐAÐAܐ2d‘8˜JÑ'Ó(¨X°yÐ,AÒAÐAÐAܐ2c‘7˜:Ñ&Ó'¨H¨:Ò5Ð5Ñ5r cóȗtjdddd«}tjt|«g«}t    |«dk(sJ‚tj
|«}d|vsJ‚y)Nr
r rz gh23879.f90rÚbar)rr$rr2r3Ú crack2fortran)rr9r4r5Úpyfs     rÚtest_nowrap_private_proceeduresz1TestPublicPrivate.test_nowrap_private_proceedures?sZ€Ü— ‘ ˜W e¨^¸]ÓKˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}Ü×(Ñ(¨Ó-ˆØ˜CÑÐÑr N)r!r"r#r6r:r@rEr&r rr(r(s„ò
;ò;ò6ó r r(có—eZdZd„Zd„Zy)ÚTestModuleProcedurecóÜ—tjdddd«}tjt|«g«}t    |«dk(sJ‚|d}d|vrt    |d«dk(sJ‚|ddd    d
k(sJ‚d |ddvsJ‚|ddd d d gk(sJ‚|ddd    dk(sJ‚d |ddvsJ‚|ddd dgk(sJ‚|ddd    dk(sJ‚d |ddvsJ‚|ddd ddgk(sJ‚y)Nr
r rz operators.f90rrÚbodyé    Únamezoperator(.item.)Ú implementedbyÚitem_intÚ    item_realrz operator(==)Úitems_are_equalrz assignment(=)Úget_intÚget_realr1r8s    rÚtest_moduleOperatorsz(TestModuleProcedure.test_moduleOperatorsGsc€Ü— ‘ ˜W e¨^¸_ÓMˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}ؐ!‰fˆØ˜‰}¤ S¨¡[Ó!1°QÒ!6Ð6Ð6ؐ6‰{˜1‰~˜fÑ%Ð);Ò;Ð;Ð;Ø # f¡+¨a¡.Ñ0Ð0Ð0ؐ6‰{˜1‰~˜oÑ.Ø ˜Ð %ò&ð    &ð&à6‰{˜1‰~˜fÑ%¨Ò7Ð7Ð7Ø # f¡+¨a¡.Ñ0Ð0Ð0ؐ6‰{˜1‰~˜oÑ.Ð3DÐ2EÒEÐEÐEؐ6‰{˜1‰~˜fÑ%¨Ò8Ð8Ð8Ø # f¡+¨a¡.Ñ0Ð0Ð0ؐ6‰{˜1‰~˜oÑ.Ø ˜
Ð #ò$ð    $ñ$r có—tjdddd«}tjt|«g«}t    |«dk(sJ‚|d}|ddd    d
gk(sJ‚|dd d    d gk(sJ‚|dd d    d gk(sJ‚y)Nr
r rzpubprivmod.f90rrr+r,r-r*r/r.r0r1r8s    rÚtest_notPublicPrivatez)TestModuleProcedure.test_notPublicPrivateYs €Ü— ‘ ˜W e¨^Ð=MÓNˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}ؐ!‰fˆØ6‰{˜3Ñ 
Ñ+°    ¨}Ò<Ð<Ð<ؐ6‰{˜3Ñ 
Ñ+°¨|Ò;Ð;Ð;ؐ6‰{˜6Ñ" :Ñ.°8°,Ò>Ð>Ñ>r N)r!r"r#rRrTr&r rrGrGFs „ò$ó$?r rGcóD—eZdZejdddd«gZd„Zd„Zy)Ú TestExternalr
r rz    gh17859.fcóN—d„}|jj|«}|dk(sJ‚y)Ncó —|dzS©Né{r&©Úxs rÚincrz5TestExternal.test_external_as_statement.<locals>.incrhó €Øs‘7ˆNr rZ)rÚexternal_as_statement©rr]Úrs   rÚtest_external_as_statementz'TestExternal.test_external_as_statementgó(€ò    ð K‰K× -Ñ -¨dÓ 3ˆØCŠxˆ‰xr cóN—d„}|jj|«}|dk(sJ‚y)Ncó —|dzSrYr&r[s rr]z5TestExternal.test_external_as_attribute.<locals>.incror^r rZ)rÚexternal_as_attributer`s   rÚtest_external_as_attributez'TestExternal.test_external_as_attributenrcr N)r!r"r#rr$r%rbrgr&r rrVrVcs%„àˆt|‰|˜G U¨N¸KÓHÐI€Gòór rVcól—eZdZejdddd«ejdddd«gZd„Zd„Zy)    ÚTestCrackFortranr
r rz
gh2848.f90zcommon_with_division.fcóJ—|jjdd«}|dk(sJ‚y)Nrr©rr)rÚgh2848)rras  rÚ test_gh2848zTestCrackFortran.test_gh2848|s$€Ø K‰K× Ñ ˜q !Ó $ˆØFŠ{Љ{r có`—t|jjj«dk(sJ‚y)Né )r3rÚmortmpÚctmp©rs rÚtest_common_with_divisionz*TestCrackFortran.test_common_with_division€s%€Ü4—;‘;×%Ñ%×*Ñ*Ó+¨rÒ1Ð1Ñ1r N)r!r"r#rr$r%rmrsr&r rririvs<„àˆt|‰|˜G U¨N¸LÓI؈t|‰|˜G U¨NÐ<TÓUð€Gòó2r ricó$—eZdZd„Zd„Zd„Zd„Zy)ÚTestMarkinnerspacescó:—gd¢}|D]}t|«|k(rŒJ‚y)N)za z aza b cz 'abcdefghij'©r)rÚ    test_listÚis   rÚtest_do_not_touch_normal_spacesz3TestMarkinnerspaces.test_do_not_touch_normal_spaces†s)€Ú9ˆ    Øò    +ˆAÜ" 1Ó%¨Ó*Ð *Ð*ñ    +r cóD—td«dk(sJ‚td«dk(sJ‚y)Nz a 'b c' \' \'za 'b@_@c' \' \'z a "b c" \" \"za "b@_@c" \" \"rwrrs rÚtest_one_relevant_spacez+TestMarkinnerspaces.test_one_relevant_space‹s,€ÜÐ0Ó1Ð5HÒHÐHÐHÜÐ/Ó0Ð4FÒFÐFÑFr cóD—td«dk(sJ‚td«dk(sJ‚y)Nza 'b c" " d' eza 'b@_@c"@_@"@_@d' eza "b c' ' d" eza "b@_@c'@_@'@_@d" erwrrs rÚtest_ignore_inner_quotesz,TestMarkinnerspaces.test_ignore_inner_quotess,€ÜÐ1Ó2Ð6NÒNÐNÐNÜÐ1Ó2Ð6NÒNÐNÑNr cóD—td«dk(sJ‚td«dk(sJ‚y)Nz a 'b c' 'd e'za 'b@_@c' 'd@_@e'z a "b c" "d e"za "b@_@c" "d@_@e"rwrrs rÚtest_multiple_relevant_spacesz1TestMarkinnerspaces.test_multiple_relevant_spaces“s+€Ü˜Ó/Ð3FÒFÐFÐFÜÐ/Ó0Ð4HÒHÐHÑHr N)r!r"r#rzr|r~r€r&r rruruƒs„ò+ò
GòOóIr ruc    óø—eZdZdZdZej d«Zgd¢ZdgZ    ee    zZ
dZ e e
«D]d\Z Zejd«Dcgc]}d|vr|jd«d    nd
‘Œc}}Ze ej#e ed j%e«¬ «z Z Œfej(j+d e
«ej(j,d„««Zej(j+d e
«d„«Zycc}}w)Ú TestDimSpecaÎThis test suite tests various expressions that are used as dimension
    specifications.
 
    There exists two usage cases where analyzing dimensions
    specifications are important.
 
    In the first case, the size of output arrays must be defined based
    on the inputs to a Fortran function. Because Fortran supports
    arbitrary bases for indexing, for instance, `arr(lower:upper)`,
    f2py has to evaluate an expression `upper - lower + 1` where
    `lower` and `upper` are arbitrary expressions of input parameters.
    The evaluation is performed in C, so f2py has to translate Fortran
    expressions to valid C expressions (an alternative approach is
    that a developer specifies the corresponding C expressions in a
    .pyf file).
 
    In the second case, when user provides an input array with a given
    size but some hidden parameters used in dimensions specifications
    need to be determined based on the input array size. This is a
    harder problem because f2py has to solve the inverse problem: find
    a parameter `p` such that `upper(p) - lower(p) + 1` equals to the
    size of input array. In the case when this equation cannot be
    solved (e.g. because the input array size is wrong), raise an
    error before calling the Fortran function (that otherwise would
    likely crash Python process when the size of input arrays is
    wrong). f2py currently supports this case only when the equation
    is linear with respect to unknown parameter.
 
    z.f90a
 
      function get_arr_size_{count}(a, n) result (length)
        integer, intent(in) :: n
        integer, dimension({dimspec}), intent(out) :: a
        integer length
        length = size(a)
      end function
 
      subroutine get_inv_arr_size_{count}(a, n)
        integer :: n
        ! the value of n is computed in f2py wrapper
        !f2py intent(out) n
        integer, dimension({dimspec}), intent(in) :: a
        if (a({first}).gt.0) then
          ! print*, "a=", a
        endif
      end subroutine
    )Únz2*nz2:nzn/2z5 - n/2z3*n:20zn*(n+1):n*(n+5)z2*n, nz 2*n:3*n*n+2*nÚú,ú:rÚ1z, )ÚcountÚdimspecÚfirstr‰có²—|jj|«}t|jd|›«}dD]}||«\}}|j|k(rŒJ‚y)NÚ get_arr_size_©rrréé)Ú all_dimspecsÚindexÚgetattrrÚsize)rr‰rˆÚ get_arr_sizerƒÚszr,s       rÚtest_array_sizezTestDimSpec.test_array_sizeÜs]€ð×!Ñ!×'Ñ'¨Ó0ˆÜ˜tŸ{™{¨m¸E¸7Ð,CÓDˆ à ò     ˆAÙ  “O‰EˆBØ—6‘6˜R“<Ð <ñ     r có8—|jj|«}t|jd|›«}t|jd|›«}dD]H}||«\}}||jvr
|||«}n||«}||«\}    }
||    k(rŒ?J||||    f«‚y)NrŒÚget_inv_arr_size_r)rr‘r’rÚnonlinear_dimspecs) rr‰rˆr”Úget_inv_arr_sizerƒr•r,Ún1Úsz1Ú_s            rÚtest_inv_array_sizezTestDimSpec.test_inv_array_sizeçs¸€ð×!Ñ!×'Ñ'¨Ó0ˆÜ˜tŸ{™{¨m¸E¸7Ð,CÓDˆ Ü" 4§;¡;Ð2CÀEÀ7Ð0KÓLÐà ò    /ˆAÙ  “O‰EˆBØ˜$×1Ñ1Ñ1ñ& a¨Ó+‘ñ& aÓ(ñ" "Ó%‰FˆCØ˜“9Ð .˜q " b¨#Ð.Ó .9ñ    /r N)r!r"r#Ú__doc__ÚsuffixÚtextwrapÚdedentÚ code_templateÚlinear_dimspecsr™rÚcodeÚ    enumeraterˆr‰ÚsplitÚlstÚformatÚjoinÚpytestÚmarkÚ parametrizeÚslowr–rž)Ú.0Úds00rr‚r‚˜s„ñð<€Fà#H—O‘Oð%ó    €Mò&€Oð*Ð*ÐØ"Ð%7Ñ7€Là €DÙ# LÓ1ò
‰ˆˆwØ?F¿}¹}ÈSÓ?Q×R¸! 3¨!¡8—‘˜“ ˜Q’°Ñ4ÓRˆØ  ×$Ñ$ØØØ—)‘)˜C“.ð%ó
ñ    
‰ð
ð ‡[[×јY¨ Ó5Ø ‡[[×Ññ óó6ð ð ‡[[×јY¨ Ó5ñ/ó6ñ/ùó'SsÁ !C6r‚có—eZdZd„Zy)ÚTestModuleDeclarationcó¸—tjdddd«}tjt|«g«}t    |«dk(sJ‚|dddd    d
k(sJ‚y) Nr
r rz foo_deps.f90rrr+Úabarú=z bar('abar')r1r8s    rÚtest_dependenciesz'TestModuleDeclaration.test_dependenciess\€Ü— ‘ ˜W e¨^¸^ÓLˆÜ×'Ñ'¬¨U«¨ Ó5ˆÜ3‹x˜1Š}Ј}ؐ1‰vf‰~˜fÑ% cÑ*¨mÒ;Ð;Ñ;r N)r!r"r#r¶r&r rr²r²ÿs„ó<r r²có—eZdZd„Zy)ÚTestEvalcóš—tj}|di«dk(sJ‚|di«dk(sJ‚|ddddœ«dk(sJ‚|d    i«d
k(sJ‚y) NÚ123z12 + 3Ú15za + brr)r,r/Ú3z"123"z'123')rÚ _eval_scalar)rÚ eval_scalars  rÚtest_eval_scalarzTestEval.test_eval_scalarsf€Ü"×/Ñ/ˆ á˜5 "Ó%¨Ò.Ð.Ð.Ù˜8 RÓ(¨DÒ0Ð0Ð0Ù˜7¨!°!Ñ$4Ó5¸Ò<Ð<Ð<Ù˜7 BÓ'¨7Ò2Ð2Ñ2r N)r!r"r#r¿r&r rr¸r¸s„ó3r r¸cóT—eZdZejj dgd¢«d„«Zy)ÚTestFortranReaderÚencoding)Úasciizutf-8zutf-16zutf-32cóà—|d|›dz }|jd|¬«5}|jd«ddd«tjt|«g«}|dddk(sJ‚y#1swYŒ6xYw)    NÚ input_with_z _encoding.f90r)rÂzd
                     subroutine foo()
                     end subroutine foo
                     rrKÚfoo)ÚopenÚwriterr2)rr9rÂÚf_pathÚffr5s      rÚtest_input_encodingz%TestFortranReader.test_input_encodings}€ð˜k¨(¨°=ÐAÑAˆØ [‰[˜ xˆ[Ó 0ð    °BØ H‰Hðô ÷    ô
×'Ñ'¬¨V«¨ Ó6ˆØ1‰vf‰~ Ò&Ð&Ñ&÷     ð    ús A$Á$A-N)r!r"r#r«r¬r­rËr&r rrÁrÁs*„Ø ‡[[×јZÚCóEñ    'óEñ    'r rÁcó´—eZdZejdddd«gZejje    jjd«dud¬«d    „«Z y)
ÚTestUnicodeCommentr
r rzunicode_comment.f90Úcharset_normalizerNz7test requires charset_normalizer which is not installed)Úreasoncó:—|jjd«y)Nr)rrÆrrs rÚtest_encoding_commentz(TestUnicodeComment.test_encoding_comment$s€ð
      ‰ ‰˜Õr ) r!r"r#rr$r%r«r¬ÚskipifÚ    importlibÚ    find_specrÑr&r rrÍrÍ s]„àˆt|‰|˜G U¨NÐ<QÓRÐS€Gà ‡[[×ÑØ    ‰×    !Ñ    !Ð"6Ó    7¸4Р   ?ØHðóñó    ñr rÍcóV—eZdZejj dggd¢«d„«Zy)ÚTestNameArgsPatternBacktrackingÚ    adversary))z
@)@bind@(@)z#@)@bind                         @(@)z@)@bind foo bar baz@(@có˜—d}d}d\}}t||«D]²}||z}t|«D]}}g}    t|«D]Q}tj«}
tj|«} |    j tj«|
z
«ŒSt j|    «dkrŒ}J‚ rJ‚|dz} tj| «rŒ²J‚y)zPaddress ReDOS vulnerability:
        https://github.com/numpy/numpy/issues/23338é rŽ)éégš™™™™™É?z@)@N)ÚrangeÚtimeÚ perf_counterrÚsearchÚappendrÚmedian) rr×Útrials_per_batchÚbatches_per_regexÚ
start_repsÚend_repsÚiiÚrepeated_adversaryrÚtimesrÚmtchÚgood_version_of_adversarys              rÚ!test_nameargspattern_backtrackingzATestNameArgsPatternBacktracking.test_nameargspattern_backtracking-sê€ðÐØÐØ%ш
Hܘ
 HÓ-ò    EˆBØ!*¨R¡Ð ôÐ,Ó-ò .ØÜÐ/Ó0ò;AÜ×*Ñ*Ó,BÜ*×1Ñ1Ð2DÓEDØ—L‘L¤×!2Ñ!2Ó!4°rÑ!9Õ:ð;ô —y‘y Ó'¨#Ó-Ð-Ð-ð .ñˆO8ð);¸UÑ(BÐ %Ü"×)Ñ)Ð*CÕDÐ DÐDñ'    Er N)r!r"r#r«r¬r­rër&r rrÖrÖ,s/„Ø ‡[[×ÑØ    ˆ ò    
óñEóñEr rÖcóp—eZdZejdddd«gZejjd„«Z    y)ÚTestFunctionReturnr
r rz gh23598.f90cóF—|jjdd«dk(sJ‚y)NrrŽrÙ)rÚ
intproductrrs rÚtest_function_rettypez(TestFunctionReturn.test_function_rettypeSs#€ð{‰{×%Ñ% a¨Ó+¨rÒ1Ð1Ñ1r N)
r!r"r#rr$r%r«r¬r®rðr&r rríríPs7„؈t|‰|˜G U¨N¸MÓJÐK€Gà ‡[[×Ññ2óñ2r rícó—eZdZd„Zy)ÚTestFortranGroupCounterscóª—tjdddd«}    tjt|«g«y#t$r}Jd|›«‚d}~wwxYw)Nr
r rz    gh23533.fz0'crackfortran.crackfortran' raised an exception )rr$rr2Ú    Exception)rr4Úexcs   rÚtest_end_if_commentz,TestFortranGroupCounters.test_end_if_commentZsT€ä— ‘ ˜W e¨^¸[ÓIˆð    SÜ × %Ñ %¤s¨5£z lÕ 3øÜò    SØ RÐLÈSÈEÐRÓ R5ûð    Súsš:º    AÁ
A Á AN)r!r"r#rör&r rròròYs„óSr ròcó—eZdZd„Zy)ÚTestF77CommonBlockReadercó—tjdddd«}tjt    j
««5}t j t|«g«}ddd«dj«vsJ‚y#1swYŒxYw)Nr
r rz gh22648.pyfÚMismatch)    rr$Ú
contextlibÚredirect_stdoutÚioÚStringIOrr2Úgetvalue)rr9r4Ú stdout_f2pyr5s     rÚ test_gh22648z%TestF77CommonBlockReader.test_gh22648dsn€Ü— ‘ ˜W e¨^¸]ÓKˆÜ × 'Ñ '¬¯ © « Ó 6ð    :¸+Ü×+Ñ+¬S°«Z¨LÓ9ˆC÷    :à ×!5Ñ!5Ó!7Ñ7Ð7Ñ7÷    :ð    :ús Á A=Á=BN)r!r"r#rr&r rrørøcs„ó8r røcó*—eZdZd„Zd„Zd„Zd„Zd„Zy)Ú TestParamEvalcó̗d}tjtjtjdœ}ddddœdddd    œd
œ}d }tj||||¬ «}|d ddœk(sJ‚y)Nz (/3.14, 4./)©ÚkindÚselected_int_kindÚselected_real_kindérrrkrrr )ÚdpÚ intparamarrayÚnestedz(2)©r‰g…ëQ¸    @g@©rÚ
_kind_funcÚ_selected_int_kind_funcÚ_selected_real_kind_funcÚ
param_eval©rÚvÚg_paramsÚparamsr‰Úrets      rÚtest_param_eval_nestedz$TestParamEval.test_param_eval_nestedlst€Ø ˆÜ(×3Ñ3Ü%1×%IÑ%IÜ&2×&KÑ&KñMˆð°°a©LØ ! a¨AÑ.ñ0ˆàˆÜ×%Ñ% a¨°6À7ÔKˆØ˜$ 3Ñ'Ò'Ð'Ñ'r có¸—d}tjtjtjdœ}i}d}tj||||¬«}|ddddœk(sJ‚y)    Nz (/ 6, 3, 1 /)rz(-1:1)r érr)éÿÿÿÿrrrrs      rÚ!test_param_eval_nonstandard_rangez/TestParamEval.test_param_eval_nonstandard_rangewsa€Ø ˆÜ(×3Ñ3Ü%1×%IÑ%IÜ&2×&KÑ&KñMˆðˆØˆÜ×%Ñ% a¨°6À7ÔKˆØ˜1  qÑ)Ò)Ð)Ñ)r cóʗd}tjtjtjdœ}i}d}t    j
t tj||||¬«y)NÚ6rr„r ©rrrrr«ÚraisesÚ
ValueErrorr©rrrrr‰s     rÚtest_param_eval_empty_rangez)TestParamEval.test_param_eval_empty_rangesU€Ø ˆÜ(×3Ñ3Ü%1×%IÑ%IÜ&2×&KÑ&KñMˆðˆØˆÜ ‰ ”j¤,×"9Ñ"9¸1¸hÈØ%ö    'r có¬—d}tjtjtjdœ}i}tj|||d¬«}|dk(sJ‚y)Nz3.14_dprr r)rrrrrs     rÚtest_param_eval_non_array_paramz-TestParamEval.test_param_eval_non_array_param‹sU€Ø ˆÜ(×3Ñ3Ü%1×%IÑ%IÜ&2×&KÑ&KñMˆðˆÜ×%Ñ% a¨°6À4ÔHˆØiÒÐÑr cóʗd}tjtjtjdœ}i}d}t    j
t tj||||¬«y)Nz*reshape((/ (i, i=1, 250) /), (/5, 10, 5/))rz(0:4, 3:12, 5)r rr"s     rÚtest_param_eval_too_many_dimsz+TestParamEval.test_param_eval_too_many_dims”sU€Ø 8ˆÜ(×3Ñ3Ü%1×%IÑ%IÜ&2×&KÑ&KñMˆðˆØ"ˆÜ ‰ ”j¤,×"9Ñ"9¸1¸hÈØ%ö    'r N)r!r"r#rrr#r%r'r&r rrrjs„ò    (ò*ò'ò ó'r rcóD—eZdZejdddd«gZdgZd„Zy)ÚTestLowerF2PYDirectiver
r rz gh27697.f90z--lowercó®—tjtd¬«5}|jjj d«ddd«y#1swYyxYw)Nzaborting directly)Úmatch)r«r r!rÚutilsÚmy_abort)rrõs  rÚtest_no_lower_failz)TestLowerF2PYDirective.test_no_lower_fail£sA€Ü ]‰]œ:Ð-@Ô Að    <ÀSØ K‰K× Ñ × &Ñ &Ð':Ô ;÷    <÷    <ñ    <ús œ&A Á AN)r!r"r#rr$r%Úoptionsr.r&r rr)r)žs'„àˆt|‰|˜G U¨N¸MÓJÐK€G؈k€Gó<r r))#rûrÓrýr¡rÝr«ÚnumpyrÚ
numpy.f2pyrÚnumpy.f2py.crackfortranrrr„rÚF2PyTestr    r(rGrVrirur‚r²r¸rÁr¬r®rÍrÖríròrørr)r&r rú<module>r4sGðÛÛÛ    ÛÛ ã ãÝ#ßDåô ,$—-‘-ô ,÷% ñ% ÷N?ñ?ô:4—=‘=ôô& 2t—}‘}ô 2÷IñIô*d/$—-‘-ôd/÷N<ñ<ô3ˆt}‰}ô3ô '˜Ÿ ™ ô 'ð‡×Ñô˜Ÿ™óóð÷"Eñ"EôH2˜Ÿ™ô2ôS˜tŸ}™}ôS÷8ñ8÷2'ñ2'ðh‡×Ñô<˜TŸ]™]ó<óñ<r