§ y<ˆj!PãóÖ—ddlZddlZddlmZmZmZddlZddlm Z Gd„de j ¦«Z Gd„de j ¦«Z Gd„d e j ¦«Z Gd „d e j ¦«ZdS) éN)Úassert_array_equalÚ assert_equalÚ assert_raises)Úutilcó2—eZdZdZdZgd¢ZdZeD]ÉZeZe d¬¦«  ee¦«Z ee j d gd‘e›‘d‘e›‘d ‘e ›‘d ‘e›‘d‘e›‘d‘e›‘d ‘e›‘d ‘e ›‘d ‘e›‘d ‘e›‘d‘e›‘d ‘e›‘d‘e ›‘d‘e›‘d ‘e›‘d‘e›‘d‘e›‘d‘e ›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e ›‘d‘e›‘d‘e›‘d‘¦«¦«z ZŒÊej de¦«d„¦«Zej dedd…¦«d„¦«Zej de¦«d„¦«Zej de¦«d„¦«Zej de¦«d„¦«ZdS)ÚTestCharacterStringú.f90Útest_character_string©Ú1Ú3ÚstarÚú(*))rz subroutine Ú_input_z(c, o, n) character*zß, intent(in) :: c integer n !f2py integer, depend(c), intent(hide) :: n = slen(c) integer*1, dimension(n) :: o !f2py intent(out) o o = transfer(c, o) end subroutine Ú_output_zÍ, intent(out) :: c integer n integer*1, dimension(n), intent(in) :: o !f2py integer, depend(o), intent(hide) :: n = len(o) c = transfer(o, c) end subroutine Ú _array_input_z;(c, o, m, n) integer m, i, n character*aH, intent(in), dimension(m) :: c !f2py integer, depend(c), intent(hide) :: m = len(c) !f2py integer, depend(c), intent(hide) :: n = f2py_itemsize(c) integer*1, dimension(m, n), intent(out) :: o do i=1,m o(i, :) = transfer(c(i), o(i, :)) end do end subroutine Ú_array_output_z!(c, o, m, n) character*a, intent(out), dimension(m) :: c integer n integer*1, dimension(m, n), intent(in) :: o !f2py character(f2py_len=n) :: c !f2py integer, depend(o), intent(hide) :: m = len(o) !f2py integer, depend(o), intent(hide) :: n = shape(o, 1) do i=1,m c(i) = transfer(o(i, :), c(i)) end do end subroutine Ú_2d_array_input_zH(c, o, m1, m2, n) integer m1, m2, i, j, n character*aÍ, intent(in), dimension(m1, m2) :: c !f2py integer, depend(c), intent(hide) :: m1 = len(c) !f2py integer, depend(c), intent(hide) :: m2 = shape(c, 1) !f2py integer, depend(c), intent(hide) :: n = f2py_itemsize(c) integer*1, dimension(m1, m2, n), intent(out) :: o do i=1,m1 do j=1,m2 o(i, j, :) = transfer(c(i, j), o(i, j, :)) end do end do end subroutine z Úlengthc ó(—ddi ||¦«}t|j|jdz|z¦«}ddddœ|}t ||¦«t jttt|¦«¦«d¬ ¦«¦«dS) NrrrÚaÚabcÚabcdeabcdeabcder Úu1©Údtype) ÚgetÚgetattrÚmoduleÚfprefixrÚnpÚarrayÚlistÚmapÚord©ÚselfrÚfsuffixÚfrs ús/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/numpy/f2py/tests/test_character.pyÚ test_inputzTestCharacterString.test_inputLs‰€à˜&�/×%Ò% f¨fÑ5Ô5ˆÝ �D”K ¤° Ñ!9¸GÑ!CÑ DÔ Dˆà˜E¨;Ð 7Ð 7¸Ô ?ˆå˜1˜1˜Q™4œ4¥¤­$­sµ3¸©{¬{Ñ*;Ô*;À4Ð!HÑ!HÔ!HÑIÔIÐIÐIÐIóNéÿÿÿÿc ó—|}t|j|jdz|z¦«}dddœ|}t|t jt tt|¦«¦«d¬¦«¦«|  ¦«¦«dS)Nrrr)r r rr) rr r!rr"r#r$r%r&Úencoder's r+Ú test_outputzTestCharacterString.test_outputUsˆ€àˆÝ �D”K ¤° Ñ!:¸WÑ!DÑ EÔ Eˆà˜EÐ "Ð " 6Ô *ˆå˜1˜1�RœX¥d­3­s°A©;¬;Ñ&7Ô&7¸tÐDÑDÔDÑEÔEØŸ8š8™:œ:ñ 'ô 'ð 'ð 'ð 'r-có—|}t|j|jdz|z¦«}tjddddœ|ddddœ|gd ¬ ¦«}tjd „|D¦«d ¬ ¦«}t ||¦«|¦«dS) Nrrrrr ÚAÚABCÚABCDEABCDEABCDEÚSrcó&—g|]}d„|D¦«‘ŒS)có—g|]}|‘ŒS©r9©Ú.0Úcs r+ú zCTestCharacterString.test_array_input...hs€˜^˜^˜^ A˜a˜^˜^˜^r-r9©r;Úss r+r=z8TestCharacterString.test_array_input..hs"€Ð7Ð7Ð7°˜^˜^¨˜^™^œ^Ð7Ð7Ð7r-r©rr r!r"r#r©r(rr)r*rÚexpecteds r+Útest_array_inputz$TestCharacterString.test_array_input_s¨€àˆÝ �D”K ¤°Ñ!?À'Ñ!IÑ JÔ Jˆå ŒH˜C e°[ÐAÐAÀ&ÔIØ e°[ÐAÐAÀ&ÔIðà"ð $ñ $ô $ˆõ”8Ð7Ð7°QÐ7Ñ7Ô7¸tÐDÑDÔDˆÝ˜1˜1˜Q™4œ4 Ñ*Ô*Ð*Ð*Ð*r-có—|}t|j|jdz|z¦«}tjddddœ|ddddœ|gd ¬ ¦«}tjd „|D¦«d ¬ ¦«}t ||¦«|¦«dS) Nrrrrr r3r4r5r6rcó&—g|]}d„|D¦«‘ŒS)có—g|]}|‘ŒSr9r9r:s r+r=zDTestCharacterString.test_array_output...ts€�n�n�n˜Q�q�n�n�nr-r9r>s r+r=z9TestCharacterString.test_array_output..ts"€Ð7Ð7Ð7¨�n�n !�n‘n”nÐ7Ð7Ð7r-rr@)r(rr)r*rBrs r+Útest_array_outputz%TestCharacterString.test_array_outputks®€àˆÝ �D”K ¤Ð0@Ñ!@À7Ñ!JÑ KÔ Kˆå”8ؘU¨KÐ 8Ð 8¸Ô @ؘU¨KÐ 8Ð 8¸Ô @ð BØILðNñNôNˆõ ŒHÐ7Ð7¨hÐ7Ñ7Ô7¸tÐ DÑ DÔ DˆÝ˜1˜1˜Q™4œ4 Ñ*Ô*Ð*Ð*Ð*r-cóF—|}t|j|jdz|z¦«}tjddddœ|ddddœ|gd d d dœ|d d ddœ|ggd¬¦«}tjd„|D¦«dd ¬¦«}t ||¦«|¦«dS)Nrrrrr r3r4r5r*ÚfghÚfghijfghijfghijÚFÚFGHÚFGHIJFGHIJFGHIJr6rcó&—g|]}d„|D¦«‘ŒS)có&—g|]}d„|D¦«‘ŒS)có—g|]}|‘ŒSr9r9r:s r+r=zQTestCharacterString.test_2d_array_input....�s€Ð/Ð/Ð/ Q˜qÐ/Ð/Ð/r-r9)r;Úitems r+r=zFTestCharacterString.test_2d_array_input...�s'€Ð@Ð@Ð@°DÐ/Ð/¨$Ð/Ñ/Ô/Ð@Ð@Ð@r-r9)r;Úrows r+r=z;TestCharacterString.test_2d_array_input..�s'€ÐNÐNÐNÀSÐ@Ð@¸CÐ@Ñ@Ô@ÐNÐNÐNr-r©rÚorderr@rAs r+Útest_2d_array_inputz'TestCharacterString.test_2d_array_inputwså€àˆÝ �D”K ¤Ð0BÑ!BÀWÑ!LÑ MÔ Mˆå ŒH˜S u°kÐBÐBÀ6ÔJØ  u°kÐBÐBÀ6ÔJðLà  u°kÐBÐBÀ6ÔJØ  u°kÐBÐBÀ6ÔJðLðMðð  ñ ô ˆõ ”8ÐNÐNÈAÐNÑNÔNØ"&¨cð3ñ3ô3ˆå˜1˜1˜Q™4œ4 Ñ*Ô*Ð*Ð*Ð*r-)Ú__name__Ú __module__Ú __qualname__Úsuffixr!Ú length_listÚcoderr)ÚdictrÚclengthÚtextwrapÚdedentÚjoinÚpytestÚmarkÚ parametrizer,r1rCrGrUr9r-r+rrs€€€€€à €FØ%€GØ$Ð$Ð$€Kà €DØð; ð; ˆØˆØ�$˜EÐ"Ñ"Ô"×&Ò& v¨vÑ6Ô6ˆà ��”ð7! ÷7! ò7! ð7! ð7! ð7! àð7! ð7! ð7! ð7! à$+ð7! ð7! ð7! ð7! ðð7! ð7! ð7! ð7! ð ð7! ð7! ð7! ð7! ð)0ð7! ð7! ð7! ð7! ðð7! ð7! ð7! ð7! ð&-ð7! ð7! ð7! ð7! ðð7! ð7! ð7! ð7! ð" ð#7! ð7! ð7! ð7! ð"*1ð#7! ð7! ð7! ð7! ð&ð'7! ð7! ð7! ð7! ð&+2ð'7! ð7! ð7! ð7! ð*ð+7! ð7! ð7! ð7! ð8 ð97! ð7! ð7! ð7! ð8/6ð97! ð7! ð7! ð7! ð<ð=7! ð7! ð7! ð7! ð<,3ð=7! ð7! ð7! ð7! ð>ð?7! ð7! ð7! ð7! ðP ðQ7! ð7! ð7! ð7! ðP07ðQ7! ð7! ð7! ð7! ðTðU7! ð7! ð7! ð7! ðT.5ðU7! ð7! ð7! ð7! ðXðY7! ð7! ð7! ð7! ðl ðm7! ð7! ð7! ð7! ðl29ðm7! ð7! ð7! ð7! ñ7! ô7! ñ7 ô7 ñ7 ˆˆðr „[×Ò˜X {Ñ3Ô3ðJðJñ4Ô3ðJð „[×Ò˜X {°3°B°3Ô'7Ñ8Ô8ð'ð'ñ9Ô8ð'ð „[×Ò˜X {Ñ3Ô3ð +ð +ñ4Ô3ð +ð „[×Ò˜X {Ñ3Ô3ð +ð +ñ4Ô3ð +ð „[×Ò˜X {Ñ3Ô3ð +ð +ñ4Ô3ð +ð +ð +r-rcóŽ—eZdZdZdZejd gd‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d ‘e›‘d ‘e›‘d ‘e›‘d ‘e›‘d ‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘e›‘d‘¦«¦«Ze j   dddg¦«d „¦«Z d!„Z e j   dgd"¢¦«d#„¦«Zd$„Ze j   dgd"¢¦«d%„¦«Zd&„Zd'„Zd(„Ze j   dddg¦«d)„¦«Zd*„Ze j   dddg¦«d+„¦«Ze j   dddg¦«d,„¦«Zd-„Ze j  d.¦«d/„¦«Zd0„Zd1S)2Ú TestCharacterr Útest_characterrú subroutine z™_input(c, o) character, intent(in) :: c integer*1 o !f2py intent(out) o o = transfer(c, o) end subroutine z_input subroutine z�_output(c, o) character :: c integer*1, intent(in) :: o !f2py intent(out) c c = transfer(o, c) end subroutine z_output subroutine z“_input_output(c, o) character, intent(in) :: c character o !f2py intent(out) o o = c end subroutine z!_input_output subroutine zŒ_inout(c, n) character :: c, n !f2py intent(in) n !f2py intent(inout) c c = n end subroutine z_inout function z…_return(o) result (c) character :: c character, intent(in) :: o c = transfer(o, c) end function z_return subroutine zè_array_input(c, o) character, intent(in) :: c(3) integer*1 o(3) !f2py intent(out) o integer i do i=1,3 o(i) = transfer(c(i), o(i)) end do end subroutine z _array_input subroutine a'_2d_array_input(c, o) character, intent(in) :: c(2, 3) integer*1 o(2, 3) !f2py intent(out) o integer i, j do i=1,2 do j=1,3 o(i, j) = transfer(c(i, j), o(i, j)) end do end do end subroutine z#_2d_array_input subroutine zØ_array_output(c, o) character :: c(3) integer*1, intent(in) :: o(3) !f2py intent(out) c do i=1,3 c(i) = transfer(o(i), c(i)) end do end subroutine z!_array_output subroutine zÊ_array_inout(c, n) character :: c(3), n(3) !f2py intent(in) n(3) !f2py intent(inout) c(3) do i=1,3 c(i) = n(i) end do end subroutine z _array_inout subroutine a _2d_array_inout(c, n) character :: c(2, 3), n(2, 3) !f2py intent(in) n(2, 3) !f2py intent(inout) c(2. 3) integer i, j do i=1,2 do j=1,3 c(i, j) = n(i, j) end do end do end subroutine z!_2d_array_inout function z»_array_return(o) result (c) character, dimension(3) :: c character, intent(in) :: o(3) do i=1,3 c(i) = o(i) end do end function z_array_return function zœ_optional(o) result (c) character, intent(in) :: o !f2py character o = "a" character :: c c = o end function z_optional rr<ÚS1cóŠ—t|j|jdz¦«}t|t jd|¬¦«¦«t d¦«¦«t|t jd|¬¦«¦«t d¦«¦«t|t jdg|¬¦«¦«t d¦«¦«t|t jd|¬¦«¦«t d¦«¦«t|t jdgg|¬¦«¦«t d¦«¦«dS)NÚ_inputrróar)rr r!rr"r#r&©r(rr*s r+r,zTestCharacter.test_inputòs€å �D”K ¤°Ñ!8Ñ 9Ô 9ˆå�Q�Q•r”x ¨5Ð1Ñ1Ô1Ñ2Ô2µC¸±H´HÑ=Ô=Ð=Ý�Q�Q•r”x ¨EÐ2Ñ2Ô2Ñ3Ô3µS¸±X´XÑ>Ô>Ð>Ý�Q�Q•r”x  ¨UÐ3Ñ3Ô3Ñ4Ô4µc¸#±h´hÑ?Ô?Ð?Ý�Q�Q•r”x ¨UÐ3Ñ3Ô3Ñ4Ô4µc¸#±h´hÑ?Ô?Ð?Ý�Q�Q•r”x #  ¨uÐ5Ñ5Ô5Ñ6Ô6½¸C¹¼ÑAÔAÐAÐAÐAr-có’—t|j|jdz¦«}t|d¦«t d¦«¦«t|d¦«t d¦«¦«t|d¦«d¦«t|d¦«d¦«t|d¦«d¦«t|d¦«t d¦«¦«t|d ¦«t d¦«¦«t|dg¦«t d¦«¦«t|t jd¦«¦«t d¦«¦«t|t jdg¦«¦«t d¦«¦«t jd¦«}t||¦«t d¦«¦«t jdg¦«}t||¦«t d¦«¦« |g¦«t|j›d �¦«‚#t$r-}t|¦«  d ¦«s‚Yd}~nd}~wwxYw |d ¦«t|j›d �¦«‚#t$r.}t|¦«  d¦«s‚Yd}~dSd}~wwxYw)Nrjrrkrrr-óÚabsabz! should have failed on empty listz got 0-listéaz should have failed on int valuez got int instance) rr r!rr&r"r#Ú SystemErrorrVÚ IndexErrorÚstrÚendswithÚ TypeError©r(r*rÚmsgs r+Útest_input_variazTestCharacter.test_input_variaüsº€Ý �D”K ¤°Ñ!8Ñ 9Ô 9ˆå�Q�Q�s‘V”V�S ™XœXÑ&Ô&Ð&Ý�Q�Q�t‘W”W�c $™iœiÑ(Ô(Ð(Ý�Q�Q�r‘U”U˜AÑÔÐÝ�Q�Q�s‘V”V˜QÑÔÐÝ�Q�Q�u‘X”X˜qÑ!Ô!Ð!Ý�Q�Q�t‘W”W�c #™hœhÑ'Ô'Ð'Ý�Q�Q�u‘X”X�s 3™xœxÑ(Ô(Ð(Ý�Q�Q˜�u‘X”X�s 3™xœxÑ(Ô(Ð(å�Q�Q•r”x ‘~”~Ñ&Ô&­¨C©¬Ñ1Ô1Ð1Ý�Q�Q•r”x  Ñ'Ô'Ñ(Ô(­#¨c©(¬(Ñ3Ô3Ð3Ý ŒH�S‰MŒMˆÝ�Q�Q�q‘T”T�3˜s™8œ8Ñ$Ô$Ð$Ý ŒH�c�U‰OŒOˆÝ�Q�Q�q‘T”T�3˜s™8œ8Ñ$Ô$Ð$ð PØ ˆAˆb‰EŒEˆEõ  ¤ÐNÐNÐNÑOÔOÐ Oøõ ð ð ð Ý�s‘8”8×$Ò$ ]Ñ3Ô3ð Øð ð ð ð ð øøøøð øøøð  OØ ˆAˆb‰EŒEˆEõ  ¤ÐMÐMÐMÑNÔNÐ Nøõ ð ð ð Ý�s‘8”8×$Ò$Ð%8Ñ9Ô9ð Øð ð ð ð ð ð øøøøð øøøs0È H1È1 I(È;#I#É#I(É, JÊ KÊ#KËK)r<rhÚU1c óÌ—t|j|jdz¦«}t|t jgd¢|¬¦«¦«t jt ttd¦«¦«d¬¦«¦«t|t jgd¢|¬¦«¦«t jt ttd¦«¦«d¬¦«¦«dS)NÚ _array_input©rÚbr<rrÚi1©rkóbóc) rr r!rr"r#r$r%r&rls r+rCzTestCharacter.test_array_inputsÕ€å �D”K ¤°Ñ!>Ñ ?Ô ?ˆå˜1˜1�RœX o o o¸UÐCÑCÔCÑDÔDÝœ8¥D­­S°%©¬Ñ$9Ô$9ÀÐFÑFÔFñ Hô Hð Hå˜1˜1�RœXÐ&8Ð&8Ð&8ÀÐFÑFÔFÑGÔGÝœ8¥D­­S°%©¬Ñ$9Ô$9ÀÐFÑFÔFñ Hô Hð Hð Hð Hr-c ó8—t|j|jdz¦«}t|gd¢¦«t jt ttd¦«¦«d¬¦«¦«t|gd¢¦«t jt ttd¦«¦«d¬¦«¦« |gd¢¦«t|j ›d�¦«‚#t$r.}t|¦«  d ¦«s‚Yd}~dSd}~wwxYw) Nr{r|rr~rr©rr}r<Údú" should have failed on wrong inputú)th dimension must be fixed to 3 but got 4)rr r!rr"r#r$r%r&rqrVÚ ValueErrorrsrt)r(r*rws r+Útest_array_input_variaz$TestCharacter.test_array_input_varia(sR€Ý �D”K ¤°Ñ!>Ñ ?Ô ?ˆÝ˜1˜1˜_˜_˜_Ñ-Ô-Ýœ8¥D­­S°%©¬Ñ$9Ô$9ÀÐFÑFÔFñ Hô Hð Hå˜1˜1Ð/Ð/Ð/Ñ0Ô0Ýœ8¥D­­S°%©¬Ñ$9Ô$9ÀÐFÑFÔFñ Hô Hð Hð CØ ˆAÐ"Ð"Ð"Ñ #Ô #Ð #õ Ø”:ÐAÐAÐAñCôCð Cøõ ð ð ð Ý�s‘8”8×$Ò$Ø?ñAôAð àð ð ð ð ð ð øøøøð øøøsÂ= C!Ã! DÃ+#DÄDcó—t|j|jdz¦«}tjgd¢gd¢g|d¬¦«}| |dkr tjn tj¦«}t||¦«|¦«dS)NÚ_2d_array_inputr|©r„Úer*rKrSry) rr r!r"r#ÚviewÚuint32Úuint8r)r(rr*rrBs r+rUz!TestCharacter.test_2d_array_input9sŠ€å �D”K ¤Ð0AÑ!AÑ BÔ Bˆå ŒH�o�o�oØ%�o�oð'Ø.3¸3ð @ñ @ô @ˆà—6’6 u°¢} }�"œ)˜)½"¼(ÑCÔCˆÝ˜1˜1˜Q™4œ4 Ñ*Ô*Ð*Ð*Ð*r-có¾—t|j|jdz¦«}t|t d¦«¦«d¦«t|d¦«d¦«dS)NÚ_outputrkrrn)rr r!rr&©r(r*s r+r1zTestCharacter.test_outputBsV€Ý �D”K ¤° Ñ!9Ñ :Ô :ˆå�Q�Q•s˜4‘y”y‘\”\ 4Ñ(Ô(Ð(Ý�Q�Q�q‘T”T˜5Ñ!Ô!Ð!Ð!Ð!r-c óô—t|j|jdz¦«}t|t t t d¦«¦«¦«tjt d¦«d¬¦«¦«dS)NÚ _array_outputrrhr) rr r!rr$r%r&r"r#r’s r+rGzTestCharacter.test_array_outputHsj€Ý �D”K ¤°Ñ!?Ñ @Ô @ˆå˜1˜1�T¥#¥c¨5¡/¤/Ñ2Ô2Ñ3Ô3Ýœ8¥D¨¡K¤K°tÐ<Ñ<Ô<ñ >ô >ð >ð >ð >r-cóÖ—t|j|jdz¦«}t|d¦«d¦«t|d¦«d¦«t|d¦«d¦«dS)NÚ _input_outputrkrrrn©rr r!rr’s r+Útest_input_outputzTestCharacter.test_input_outputNsh€Ý �D”K ¤°Ñ!?Ñ @Ô @ˆå�Q�Q�t‘W”W˜dÑ#Ô#Ð#Ý�Q�Q�s‘V”V˜TÑ"Ô"Ð"Ý�Q�Q�r‘U”U˜EÑ"Ô"Ð"Ð"Ð"r-có8—t|j|jdz¦«}tjt d¦«|¬¦«}||d¦«t |tjt d¦«|j¬¦«¦«||dd…d¦«t |tjt d¦«|j¬¦«¦«tjdg|¬¦«}||d¦«t |tjdg|j¬¦«¦«dS) NÚ_inoutrrr3ÚAbcéÚBÚABc)rr r!r"r#r$rr)r(rr*rs r+Ú test_inoutzTestCharacter.test_inoutUsö€å �D”K ¤°Ñ!8Ñ 9Ô 9ˆå ŒH•T˜%‘[”[¨Ð .Ñ .Ô .ˆØ ˆˆ!ˆS‰ Œ ˆ ݘ1�bœh¥t¨E¡{¤{¸!¼'ÐBÑBÔBÑCÔCÐCØ ˆˆ!ˆAˆBˆBŒ%�‰ Œ ˆ ݘ1�bœh¥t¨E¡{¤{¸!¼'ÐBÑBÔBÑCÔCÐCå ŒH�e�W EÐ *Ñ *Ô *ˆØ ˆˆ!ˆS‰ Œ ˆ ݘ1�bœh¨ w°a´gÐ>Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r-có*—t|j|jdz¦«}tjdd¬¦«}||d¦«t |tjd|j¬¦«¦«tjdgd¬¦«}||d¦«t |tjdg|j¬¦«¦« |dd¦«t|j›d�¦«‚#t$r.}t|¦«  d¦«s‚Yd}~dSd}~wwxYw) NršrÚS3rr3r›z should have failed on str valuez got 3-str) rr r!r"r#rrrqrVr‡rsrtrvs r+Útest_inout_variazTestCharacter.test_inout_variacs4€Ý �D”K ¤°Ñ!8Ñ 9Ô 9ˆÝ ŒH�U $Ð 'Ñ 'Ô 'ˆØ ˆˆ!ˆS‰ Œ ˆ ݘ1�bœh u°A´GÐ<Ñ<Ô<Ñ=Ô=Ð=å ŒH�e�W DÐ )Ñ )Ô )ˆØ ˆˆ!ˆS‰ Œ ˆ ݘ1�bœh¨ w°a´gÐ>Ñ>Ô>Ñ?Ô?Ð?ð OØ ˆAˆe�S‰MŒMˆMõ  ¤ÐMÐMÐMÑNÔNÐ Nøõ ð ð ð Ý�s‘8”8×$Ò$ \Ñ2Ô2ð Øð ð ð ð ð ð øøøøð øøøsÂ7 Cà DÃ$#D Ä Dcó—t|j|jdz¦«}tjgd¢|d¬¦«}tjgd¢|d¬¦«}|||¦«t ||¦«tjgd¢|¬¦«}||dd…|¦«t |tjgd ¢|¬¦«¦«tjgd¢g|d¬¦«}|||¦«t |tjgd¢g|¬¦«¦«tjgd¢|d¬¦«} |||¦«t |j›d �¦«‚#t$r.}t|¦«  d ¦«s‚Yd}~dSd}~wwxYw) NÚ _array_inout©r3r�ÚCrKrSr|rƒrrœ)rr3r�r¦r…r†) rr r!r"r#rrqrVr‡rsrt)r(rr*Únrrws r+Útest_array_inoutzTestCharacter.test_array_inoutusÓ€å �D”K ¤°Ñ!>Ñ ?Ô ?ˆÝ ŒH�_�_�_¨E¸Ð =Ñ =Ô =ˆå ŒH�_�_�_¨E¸Ð =Ñ =Ô =ˆØ ˆˆ!ˆQ‰ŒˆÝ˜1˜aÑ Ô Ð å ŒHÐ)Ð)Ð)°Ð 7Ñ 7Ô 7ˆØ ˆˆ!ˆAˆBˆBŒ%�‰ Œ ˆ ݘ1�bœhÐ';Ð';Ð';À5ÐIÑIÔIÑJÔJÐJå ŒH�o�o�oÐ&¨e¸3Ð ?Ñ ?Ô ?ˆØ ˆˆ!ˆQ‰ŒˆÝ˜1�bœh¨¨¨Ð'8ÀÐFÑFÔFÑGÔGÐGå ŒHÐ)Ð)Ð)°¸cÐ BÑ BÔ Bˆð CØ ˆAˆa�‰GŒGˆGõ Ø”:ÐAÐAÐAñCôCð Cøõ ð ð ð Ý�s‘8”8×$Ò$Ø?ñAôAð àð ð ð ð ð ð øøøøð øøøsÄ% EÅ FÅ#E;Å;Fcóì—t|j|jdz¦«}tjgd¢gd¢g|d¬¦«}tjgd¢gd¢g|d¬¦«}|||¦«t ||¦«dS)NÚ_2d_array_inoutr¥)ÚDÚErKrKrSr|r‹r@)r(rr*r§rs r+Útest_2d_array_inoutz!TestCharacter.test_2d_array_inout‘sž€å �D”K ¤Ð0AÑ!AÑ BÔ BˆÝ ŒH�o�o�oØ%�o�oð'à ¨ð -ñ -ô -ˆõ ŒH�o�o�oØ%�o�oð'à ¨ð -ñ -ô -ˆð ˆˆ!ˆQ‰ŒˆÝ˜1˜aÑ Ô Ð Ð Ð r-cór—t|j|jdz¦«}t|d¦«d¦«dS)NÚ_returnrrkr—r’s r+Ú test_returnzTestCharacter.test_return�s8€Ý �D”K ¤° Ñ!9Ñ :Ô :ˆå�Q�Q�s‘V”V˜TÑ"Ô"Ð"Ð"Ð"r-z*fortran function returning array segfaultscó¸—t|j|jdz¦«}tjt d¦«d¬¦«}t ||¦«|¦«dS)NÚ _array_returnrrhr)rr r!r"r#r$r)r(r*rs r+Útest_array_returnzTestCharacter.test_array_return¢sR€å �D”K ¤°Ñ!?Ñ @Ô @ˆå ŒH•T˜%‘[”[¨Ð -Ñ -Ô -ˆÝ˜1˜1˜Q™4œ4 Ñ#Ô#Ð#Ð#Ð#r-có¢—t|j|jdz¦«}t|¦«d¦«t|d¦«d¦«dS)NÚ _optionalrkóBr—r’s r+Ú test_optionalzTestCharacter.test_optional©sN€Ý �D”K ¤° Ñ!;Ñ <Ô <ˆå�Q�Q‘S”S˜$ÑÔÐÝ�Q�Q�t‘W”W˜dÑ#Ô#Ð#Ð#Ð#r-N)rVrWrXrYr!r^r_r`r[rarbrcr,rxrCrˆrUr1rGr˜rŸr¢r¨r­r°Úskipr³r·r9r-r+rere†s&€€€€€à €FØ€Gà ˆ8Œ?ðe÷eòeðeðeðeØðeðeðeðeð ð eðeðeðeððeðeðeðeððeðeðeðeððeðeðeðeð(ð)eðeðeðeð,ð-eðeðeðeð6ð7eðeðeðeð:ð;eðeðeðeðBðCeðeðeðeðFðGeðeðeðeðVðWeðeðeðeðZð[eðeðeðeðnðoeðeðeðeðrðseðeðeðeð@ðAeðeðeðeðDðEeðeðeðeðRðSeðeðeðeðVðWeðeðeðeðjðkeðeðeðeðnðoeðeðeðeðzð{eðeðeðeð~ðeðeðeðeðHðIeðeðeðeñeôeñe ôe €DðN „[×Ò˜W s¨D kÑ2Ô2ðBðBñ3Ô2ðBð!Oð!Oð!OðF „[×Ò˜WÐ&7Ð&7Ð&7Ñ8Ô8ðHðHñ9Ô8ðHðCðCðCð" „[×Ò˜WÐ&7Ð&7Ð&7Ñ8Ô8ð+ð+ñ9Ô8ð+ð"ð"ð"ð >ð>ð>ð #ð#ð#ð „[×Ò˜W s¨D kÑ2Ô2ð @ð @ñ3Ô2ð @ðOðOðOð$ „[×Ò˜W s¨D kÑ2Ô2ðCðCñ3Ô2ðCð6 „[×Ò˜W s¨D kÑ2Ô2ð !ð !ñ3Ô2ð !ð#ð#ð#ð  „[×ÒÐBÑCÔCð$ð$ñDÔCð$ð $ð$ð$ð$ð$r-recóä—eZdZdZdZejde›de›de›de›de›de›d e›d e›d e›d e›d e›de›d�¦«Zd„Zd„Z d„Z d„Z e j  dddg¦«d„¦«ZdS)ÚTestMiscCharacterr Útest_misc_characterrga(_gh18684(x, y, m) character(len=5), dimension(m), intent(in) :: x character*5, dimension(m), intent(out) :: y integer i, m !f2py integer, intent(hide), depend(x) :: m = f2py_len(x) do i=1,m y(i) = x(i) end do end subroutine z_gh18684 subroutine z«_gh6308(x, i) integer i !f2py check(i>=0 && i<12) i character*5 name, x common name(12) name(i + 1) = x end subroutine z_gh6308 subroutine zý_gh4519(x) character(len=*), intent(in) :: x(:) !f2py intent(out) x integer :: i ! Uncomment for debug printing: !do i=1, size(x) ! print*, "x(",i,")=", x(i) !end do end subroutine z_gh4519 pure function aq_gh3425(x) result (y) character(len=*), intent(in) :: x character(len=len(x)) :: y integer :: i do i = 1, len(x) j = iachar(x(i:i)) if (j>=iachar("a") .and. j<=iachar("z") ) then y(i:i) = achar(j-32) else y(i:i) = x(i:i) endif end do end function z_gh3425 subroutine aO_character_bc_new(x, y, z) character, intent(in) :: x character, intent(out) :: y !f2py character, depend(x) :: y = x !f2py character, dimension((x=='a'?1:2)), depend(x), intent(out) :: z character, dimension(*) :: z !f2py character, optional, check(x == 'a' || x == 'b') :: x = 'a' !f2py callstatement (*f2py_func)(&x, &y, z) !f2py callprotoargument character*, character*, character* if (y.eq.x) then y = x else y = 'e' endif z(1) = 'c' end subroutine z%_character_bc_new subroutine aG_character_bc_old(x, y, z) character, intent(in) :: x character, intent(out) :: y !f2py character, depend(x) :: y = x[0] !f2py character, dimension((*x=='a'?1:2)), depend(x), intent(out) :: z character, dimension(*) :: z !f2py character, optional, check(*x == 'a' || x[0] == 'b') :: x = 'a' !f2py callstatement (*f2py_func)(x, y, z) !f2py callprotoargument char*, char*, char* if (y.eq.x) then y = x else y = 'e' endif z(1) = 'c' end subroutine z_character_bc_old có¦—t|j|jdz¦«}tjddgd¬¦«}||¦«}t ||¦«dS)NÚ_gh18684ÚabcdeÚfghijÚS5rr@)r(r*ÚxÚys r+Ú test_gh18684zTestMiscCharacter.test_gh18684sV€å �D”K ¤° Ñ!:Ñ ;Ô ;ˆÝ ŒH�g˜wÐ'¨tÐ 4Ñ 4Ô 4ˆØ ˆAˆa‰DŒDˆå˜1˜aÑ Ô Ð Ð Ð r-cóÈ—t|j|jdz¦«}t|jjjjtjd¦«¦«tt|jjj¦«d¦«|dd¦«t|jjjdd¦«|dd¦«t|jjjdd ¦«dS) NÚ_gh6308rÀé r¾rsabcdeÚ12345és12345) rr r!rÚ_BLNK_Únamerr"Úlenr’s r+Ú test_gh6308zTestMiscCharacter.test_gh6308 s»€å �D”K ¤° Ñ!9Ñ :Ô :ˆå�T”[Ô'Ô,Ô2µB´H¸T±N´NÑCÔCÐCÝ•S˜œÔ+Ô0Ñ1Ô1°2Ñ6Ô6Ð6Ø ˆˆ'�1‰ Œ ˆ Ý�T”[Ô'Ô,¨QÔ/°Ñ:Ô:Ð:Ø ˆˆ'�1‰ Œ ˆ Ý�T”[Ô'Ô,¨QÔ/°Ñ:Ô:Ð:Ð:Ð:r-c ór—t|j|jdz¦«}dtdt jd¦«¬¦«fdtdt jd¦«¬¦«ft jgd¢d¬ ¦«td t jd¦«¬¦«fgd ¢td t jd ¦«¬¦«fd d gtdt jd¦«¬¦«ffD]H\}}||¦«}| ¦«D]#\}}tt||¦«|¦«Œ$ŒIdS)NÚ_gh4519rr9rh)ÚshaperÚtextÚS4)r Ú2r r)é)r rÒÚ34ÚS2r)é) rr r!r\r"rr#Úitemsr)r(r*rÁrBÚrÚkÚvs r+Ú test_gh4519zTestMiscCharacter.test_gh4519s<€å �D”K ¤° Ñ!9Ñ :Ô :ˆð•d ­2¬8°D©>¬>Ð:Ñ:Ô:Ð;Ø� B­b¬h°t©n¬nÐ=Ñ=Ô=Ð>Ý”˜/˜/˜/°Ð6Ñ6Ô6ݘD­¬°©¬Ð7Ñ7Ô7ð9à!Ð!Ð!ݘD­¬°©¬Ð7Ñ7Ô7ð9à�b��4 dµ"´(¸4±.´.ÐAÑAÔAÐBðDð /ð /‰KˆAˆxð��!‘”ˆAØ ŸšÑ(Ô(ð /ð /‘��1Ý�W Q¨™]œ]¨AÑ.Ô.Ð.Ð.ð /ð /ð /r-cóÖ—t|j|jdz¦«}t|d¦«d¦«t|d¦«d¦«t|d¦«d¦«dS)NÚ_gh3425ÚabCsABCrr-ÚabC12dsABC12Dr—r’s r+Ú test_gh3425zTestMiscCharacter.test_gh3425&sj€å �D”K ¤° Ñ!9Ñ :Ô :ˆõ �Q�Q�u‘X”X˜vÑ&Ô&Ð&Ý�Q�Q�r‘U”U˜CÑ Ô Ð Ý�Q�Q�x‘[”[ )Ñ,Ô,Ð,Ð,Ð,r-ÚstateÚnewÚoldcób‡—t|j|jdz|z¦«Š‰¦«\}}t|d¦«tt |¦«d¦«‰d¦«\}}t|d¦«tt |¦«d¦«t t ˆfd„¦«dS)NÚ_character_bc_rkrœr€rÖcó•—‰d¦«S)Nr�r9)r*s€r+úz5TestMiscCharacter.test_character_bc..;sø€¨¨¨4©¬€r-)rr r!rrËrÚ Exception)r(rár<rr*s @r+Útest_character_bcz#TestMiscCharacter.test_character_bc/s©ø€å �D”K ¤Ð0@Ñ!@À5Ñ!HÑ IÔ Iˆàˆq‰sŒs‰ˆˆ1Ý�Q˜ÑÔÐÝ•S˜‘V”V˜QÑÔÐàˆq�‰wŒw‰ˆˆ1Ý�Q˜ÑÔÐÝ•S˜‘V”V˜QÑÔÐå•i    Ñ1Ô1Ð1Ð1Ð1r-N)rVrWrXrYr!r^r_r[rÃrÌrÛràrarbrcrér9r-r+rºrº°s‚€€€€€à €FØ#€Gà ˆ8Œ?ðLØðLðLððLðLððLðLð"ð#LðLð&ð'LðLð6ð7LðLð:ð;LðLðRðSLðLðVðWLðLðtðuLðLðxðyLðLðVðWLðLðLñL ôL €Dð\!ð!ð!ð ;ð ;ð ;ð/ð/ð/ð -ð-ð-ð „[×Ò˜W u¨e nÑ5Ô5ð 2ð 2ñ6Ô5ð 2ð 2ð 2r-rºcóŠ—eZdZejdddd¦«gZejjd„¦«Z ejjd„¦«Z dS)ÚTestStringScalarArrÚtestsÚsrcÚstringzscalar_string.f90cóŒ—|jjj|jjjfD] }d}|j|ksJ‚d}|j|ksJ‚Œ!dS)Nr9z|S8)r Ú string_testrîÚstring77rÏr©r(ÚoutrBs r+Ú test_charzTestStringScalarArr.test_charAsf€à”KÔ+Ô2Ø”KÔ+Ô4ð6ð )ð )ˆCàˆHØ”9 Ò(Ð(Ð(Ð(؈HØ”9 Ò(Ð(Ð(Ð(Ð(ð  )ð )r-cóŒ—|jjj|jjjfD] }d}|j|ksJ‚d}|j|ksJ‚Œ!dS)N)rÈéz|S12)r rðÚstrarrÚstrarr77rÏrròs r+Ú test_char_arrz!TestStringScalarArr.test_char_arrJsf€à”KÔ+Ô2Ø”KÔ+Ô4ð6ð )ð )ˆCàˆHØ”9 Ò(Ð(Ð(Ð(؈HØ”9 Ò(Ð(Ð(Ð(Ð(ð  )ð )r-N) rVrWrXrÚgetpathÚsourcesrarbÚslowrôrùr9r-r+rërë>so€€€€€ØˆtŒ|˜G U¨HÐ6IÑJÔJÐK€Gà „[Ôð)ð)ñÔð)ð „[Ôð)ð)ñÔð)ð)ð)r-rë)rar^Ú numpy.testingrrrÚnumpyr"Únumpy.f2py.testsrÚF2PyTestrrerºrër9r-r+úrs(ðØ € € € Ø€€€ØIÐIÐIÐIÐIÐIÐIÐIÐIÐIØÐÐÐØ!Ð!Ð!Ð!Ð!Ð!ð{+ð{+ð{+ð{+ð{+˜$œ-ñ{+ô{+ð{+ð|g$ðg$ðg$ðg$ðg$�D”Mñg$ôg$ðg$ðT K2ðK2ðK2ðK2ðK2˜œ ñK2ôK2ðK2ð\)ð)ð)ð)ð)˜$œ-ñ)ô)ð)ð)ð)r-