+
    KV-j«U  ã                   óV  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHtH	t	 ]P                  P                   ! R R]P                  4      4       t ! R R]P                  4      t ! R R	]P                  4      t ! R
 R]P                  4      t ! R R]P                  4      t]P                  P                   ! R R]P                  4      4       t]P                  P                   ! R R]P                  4      4       t]P                  P                   ! R R]P                  4      4       tR# )é    N)Úutil)Úassert_array_equalÚassert_equalÚassert_raisesc                   ó  a € ] tR t^
t o RtRt. ROtRt] FÀ  t]t	RR/P                  ]]4      t]]P                  ! RP                  . RN] NRN]	 NRN] NR	N] NRN]	 NRN] NR
N]	 NRN] NRN] NR
N]	 NRN] NRN]	 NRN] NRN] NRN]	 NRN] NRN]	 NRN] NRN] NRN]	 NRN] NRN]	 NRN] NRN] NRN]	 NRN4      4      ,          tKÂ  	  ]P                   P#                  R]4      R 4       t]P                   P#                  R]RR 4      R 4       t]P                   P#                  R]4      R 4       t]P                   P#                  R]4      R 4       t]P                   P#                  R]4      R 4       tRtV tR# ) ÚTestCharacterStringú.f90Útest_character_stringÚstarÚ ú(*)z

        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                ó$  € R R/P                  W4      p\        V P                  V P                  R,           V,           4      pRRRRRR
/V,          p\	        V! V4      \
        P                  ! \        \        \        V4      4      RR7      4       R	# )r   r   r   Ú1ÚaÚ3ÚabcÚu1©ÚdtypeNÚabcdeabcdeabcde)
ÚgetÚgetattrÚmoduleÚfprefixr   ÚnpÚarrayÚlistÚmapÚord©Úselfr   ÚfsuffixÚfr   s   &&   Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/numpy/f2py/tests/test_character.pyÚ
test_inputÚTestCharacterString.test_inputO   so   € à˜&�/×%Ñ% fÓ5ˆÜ�D—K‘K §¡°	Õ!9¸GÕ!CÓDˆà�#�s˜E 6¨;Ð7¸Õ?ˆä™1˜Q›4¤§¢¬$¬s´3¸«{Ó*;À4Ô!HÖIó    Nc                ó  € Tp\        V P                  V P                  R ,           V,           4      pRRRR/V,          p\        V! \        P
                  ! \        \        \        V4      4      RR7      4      VP                  4       4       R# )r   r   r   r   r   r   r   N)
r   r   r    r   r!   r"   r#   r$   r%   Úencoder&   s   &&   r*   Útest_outputÚTestCharacterString.test_outputX   sf   € àˆÜ�D—K‘K §¡°
Õ!:¸WÕ!DÓEˆà�#�s˜EÐ" 6Õ*ˆä™1œRŸXšX¤d¬3¬s°A«;Ó&7¸tÔDÓEØŸ8™8›:ö	'r-   c           	     ó^  € Tp\        V P                  V P                  R ,           V,           4      p\        P                  ! RRRRRR/V,          RRRRRR/V,          .RR	7      p\        P                  ! V Uu. uF  p\        V4      NK  	  upR
R	7      p\        V! V4      V4       R# u upi )r   r   r   r   r   r   ÚAÚABCÚSr   r   Nr   ÚABCDEABCDEABCDE©r   r   r    r!   r"   r#   r   )r'   r   r(   r)   r   ÚsÚexpecteds   &&     r*   Útest_array_inputÚ$TestCharacterString.test_array_inputb   sœ   € àˆÜ�D—K‘K §¡°Õ!?À'Õ!IÓJˆä�HŠH�s˜C  e¨V°[ÐAÀ&ÕIØ˜C  e¨V°[ÐAÀ&ÕIðà"ô$ˆô —8’8©aÓ0©a¨œT !žW©aÑ0¸Ô=ˆÜ™1˜Q›4 Ö*ùò 1ó   Á9B*c           	     ó^  € Tp\        V P                  V P                  R ,           V,           4      p\        P                  ! RRRRRR/V,          RRRRRR/V,          .RR	7      p\        P                  ! V Uu. uF  p\        V4      NK  	  upR
R	7      p\        V! V4      V4       R# u upi )r   r   r   r   r   r   r3   r4   r5   r   r   Nr   r6   r7   )r'   r   r(   r)   r9   r8   r   s   &&     r*   Útest_array_outputÚ%TestCharacterString.test_array_outputn   s    € àˆÜ�D—K‘K §¡Ð0@Õ!@À7Õ!JÓKˆä—8’8Ø�3˜˜U F¨KÐ8¸Õ@Ø�3˜˜U F¨KÐ8¸Õ@ðBØILôNˆô �HŠH¡xÓ0¡x !”d˜1–g¡xÑ0¸Ô=ˆÜ™1˜Q›4 Ö*ùò 1r<   c                óÊ  € Tp\        V P                  V P                  R ,           V,           4      p\        P                  ! RRRRRR/V,          RRRRRR/V,          .RRRR	RR/V,          RR
RRRR/V,          ..RR7      p\        P                  ! V UUu. uF  qU Uu. uF  p\        V4      NK  	  upNK  	  uppRR
R7      p\        V! V4      V4       R# u upi u uppi )r   r   r   r   r   r   r3   r4   r)   ÚfghÚFÚFGHr5   r   r   ©r   ÚorderNr   r6   ÚfghijfghijfghijÚFGHIJFGHIJFGHIJr7   )r'   r   r(   r)   r   ÚrowÚitemr9   s   &&      r*   Útest_2d_array_inputÚ'TestCharacterString.test_2d_array_inputz   sí   € àˆÜ�D—K‘K §¡Ð0BÕ!BÀWÕ!LÓMˆä�HŠH˜˜S # u¨f°kÐBÀ6ÕJØ˜S # u¨f°kÐBÀ6ÕJðLà˜S # u¨f°kÐBÀ6ÕJØ˜S # u¨f°kÐBÀ6ÕJðLðMð ô	 ˆô
 —8’8ÁQÔGÁQ¸c°SÓ9±S¨Tœd 4žj±SÔ9ÁQÒGØ"&¨cô3ˆä™1˜Q›4 Ö*ùò :ùÓGs   ÂC
Â CÂ4C
ÃC
© )r   r   r   éÿÿÿÿ)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úsuffixr    Úlength_listÚcoder   r(   r   ÚclengthÚtextwrapÚdedentÚjoinÚpytestÚmarkÚparametrizer+   r0   r:   r>   rJ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r*   r   r   
   sh  ø‡ € ð €FØ%€GÚ$€Kà€DÛˆØˆØ˜5�/×%Ñ% f¨fÓ5ˆà�—’÷ 7!ó 7!ð %ð 7!à�9ð7!à#ð7!à$+ 9ð7!ð-ð7!ð �Ið7!ðð7!ð  �yð7!ð !(ð7!ð )0 yð7!ð1ð7!ð �9ð7!ð %ð7!ð &- Ið7!ð.ð7!ð �Ið7!ðð7!ð"  �yð#7!ð" !)ð#7!ð" *1¨	ð#7!ð"2ð#7!ð& �9ð'7!ð& *ð'7!ð& +2¨ð'7!ð&3ð'7!ð* �Ið+7!ð*ð+7!ð8  �yð97!ð8 !.ð97!ð8 /6¨Yð97!ð87ð97!ð< �9ð=7!ð< +ð=7!ð< ,3¨)ð=7!ð<4ð=7!ð> �Ið?7!ð>	ð?7!ðP  �yðQ7!ðP !/ðQ7!ðP 07¨iðQ7!ðP8ðQ7!ðT �9ðU7!ðT -ðU7!ðT .5¨IðU7!ðT6ðU7!ðX �IðY7!ðX
ðY7!ðl  �yðm7!ðl !1ðm7!ðl 29°	ðm7!ðl:	ôm7!ó 7õ 7	Šñ	 ðz ‡[�[×Ñ˜X {Ó3ñJó 4ðJð ‡[�[×Ñ˜X {°3°BÐ'7Ó8ñ'ó 9ð'ð ‡[�[×Ñ˜X {Ó3ñ	+ó 4ð	+ð ‡[�[×Ñ˜X {Ó3ñ	+ó 4ð	+ð ‡[�[×Ñ˜X {Ó3ñ+ó 4ö+r-   r   c                   ó€  a € ] tR t^‰t o RtRt]P                  ! RP                  . RN] NRN] NRN] NRN] NRN] NR	N] NR
N] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN] NRN4      4      t	]
P                  P                  RRR.4      R  4       tR! t]
P                  P                  R. R2O4      R" 4       tR# t]
P                  P                  R. R2O4      R$ 4       tR% tR& tR' t]
P                  P                  RRR.4      R( 4       tR) t]
P                  P                  RRR.4      R* 4       t]
P                  P                  RRR.4      R+ 4       tR, t]
P                  P5                  R-4      R. 4       tR/ tR0tV tR1# )3Ú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
    r   ÚcÚS1c           	     óD  € \        V P                  V P                  R ,           4      p\        V! \        P
                  ! RVR7      4      \        R4      4       \        V! \        P
                  ! RVR7      4      \        R4      4       \        V! \        P
                  ! R.VR7      4      \        R4      4       \        V! \        P
                  ! RVR7      4      \        R4      4       \        V! \        P
                  ! R..VR7      4      \        R4      4       R# )Ú_inputr   r   ó   ar   N)r   r   r    r   r!   r"   r%   ©r'   r   r)   s   && r*   r+   ÚTestCharacter.test_inputõ   s·   € ä�D—K‘K §¡°Õ!8Ó9ˆä‘Q”r—x’x ¨5Ô1Ó2´C¸³HÔ=Ü‘Q”r—x’x ¨EÔ2Ó3´S¸³XÔ>Ü‘Q”r—x’x  ¨UÔ3Ó4´c¸#³hÔ?Ü‘Q”r—x’x ¨UÔ3Ó4´c¸#³hÔ?Ü‘Q”r—x’x #  ¨uÔ5Ó6¼¸C»ÖAr-   c                óº  € \        V P                  V P                  R ,           4      p\        V! R4      \	        R4      4       \        V! R4      \	        R4      4       \        V! R4      ^ 4       \        V! R4      ^ 4       \        V! R4      ^ 4       \        V! R4      \	        R4      4       \        V! R4      \	        R4      4       \        V! R.4      \	        R4      4       \        V! \
        P                  ! R4      4      \	        R4      4       \        V! \
        P                  ! R.4      4      \	        R4      4       \
        P                  ! R4      p\        V! V4      \	        R4      4       \
        P                  ! R.4      p\        V! V4      \	        R4      4        V! . 4       \        VP                   R24      h  \         d,   p\        T4      P                  R	4      '       g   h  R
p?MR
p?ii ; i T! ^a4       \        TP                   R24      h  \         d-   p\        T4      P                  R4      '       g   h  R
p?R
# R
p?ii ; i)rg   r   rh   r   r-   ó    Úabs   abz! should have failed on empty listz got 0-listNz  should have failed on int valuez got int instance)r   r   r    r   r%   r!   r"   ÚSystemErrorrN   Ú
IndexErrorÚstrÚendswithÚ	TypeError©r'   r)   r   Úmsgs   &   r*   Útest_input_variaÚTestCharacter.test_input_variaÿ   sÅ  € Ü�D—K‘K §¡°Õ!8Ó9ˆä‘Q�s“VœS ›XÔ&Ü‘Q�t“Wœc $›iÔ(Ü‘Q�r“U˜AÔÜ‘Q�s“V˜QÔÜ‘Q�u“X˜qÔ!Ü‘Q�t“Wœc #›hÔ'Ü‘Q�u“Xœs 3›xÔ(Ü‘Q˜�u“Xœs 3›xÔ(ä‘Q”r—x’x “~Ó&¬¨C«Ô1Ü‘Q”r—x’x  Ó'Ó(¬#¨c«(Ô3Ü�HŠH�S‹MˆÜ‘Q�q“Tœ3˜s›8Ô$Ü�HŠH�c�U‹OˆÜ‘Q�q“Tœ3˜s›8Ô$ð	PÙˆbŒEô
  §¡ Ð,MÐNÓOÐOøô	 ô 	Ü�s“8×$Ñ$ ]×3Ò3Øô 4ûð	úð	OÙˆbŒEô
  §¡ Ð,LÐMÓNÐNøô	 ô 	Ü�s“8×$Ñ$Ð%8×9Ò9Øõ :ûð	ús0   Æ)G	 Ç	G?Ç!G:Ç:G?ÈH# È#IÈ.!IÉIc                ó°  € \        V P                  V P                  R ,           4      p\        V! \        P
                  ! . ROVR7      4      \        P
                  ! \        \        \        R4      4      RR7      4       \        V! \        P
                  ! . ROVR7      4      \        P
                  ! \        \        \        R4      4      RR7      4       R# )Ú_array_inputr   r   Úi1N©r   Úbrd   ©rh   ó   bó   c)	r   r   r    r   r!   r"   r#   r$   r%   ri   s   && r*   r:   ÚTestCharacter.test_array_input"  s„   € ä�D—K‘K §¡°Õ!>Ó?ˆä™1œRŸXšX¢o¸UÔCÓDÜŸ8š8¤D¬¬S°%«Ó$9ÀÔFô	Hä™1œRŸXšXÒ&8ÀÔFÓGÜŸ8š8¤D¬¬S°%«Ó$9ÀÔFö	Hr-   c                ó  € \        V P                  V P                  R ,           4      p\        V! . RO4      \        P
                  ! \        \        \        R4      4      RR7      4       \        V! . RO4      \        P
                  ! \        \        \        R4      4      RR7      4        V! . R	O4       \        VP                   R24      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)
rx   r   ry   r   ú" should have failed on wrong inputú)th dimension must be fixed to 3 but got 4Nrz   r|   ©r   r{   rd   Úd)r   r   r    r   r!   r"   r#   r$   r%   rn   rN   Ú
ValueErrorrp   rq   )r'   r)   rt   s   &  r*   Útest_array_input_variaÚ$TestCharacter.test_array_input_varia+  sÔ   € Ü�D—K‘K §¡°Õ!>Ó?ˆÜ™1š_Ó-ÜŸ8š8¤D¬¬S°%«Ó$9ÀÔFô	Hä™1Ò/Ó0ÜŸ8š8¤D¬¬S°%«Ó$9ÀÔFô	Hð	CÙÒ"Ô#ô Ø—:‘:�,Ð@ÐAóCð Cøô ô 	Ü�s“8×$Ñ$Ø?÷Aò AàõAûð	ús   Â+
C ÃDÃ!C?Ã?Dc                ó"  € \        V P                  V P                  R ,           4      p\        P                  ! . RO. RO.VRR7      pTP                  VR8X  d   \        P                  M\        P                  4      p\        V! V4      V4       R# )Ú_2d_array_inputrB   rD   ÚU1Nrz   ©r„   Úer)   )	r   r   r    r!   r"   ÚviewÚuint32Úuint8r   )r'   r   r)   r   r9   s   &&   r*   rJ   Ú!TestCharacter.test_2d_array_input<  sf   € ä�D—K‘K §¡Ð0AÕ!AÓBˆä�HŠH’oÚ%ð'Ø.3¸3ô@ˆà—6‘6 u°¤}œ"Ÿ)š)¼"¿(¹(ÓCˆÜ™1˜Q›4 Ö*r-   c                ó®   € \        V P                  V P                  R ,           4      p\        V! \	        R4      4      R4       \        V! ^ 4      R4       R# )Ú_outputrh   rl   N)r   r   r    r   r%   ©r'   r)   s   & r*   r0   ÚTestCharacter.test_outputE  s;   € Ü�D—K‘K §¡°	Õ!9Ó:ˆä‘Q”s˜4“y“\ 4Ô(Ü‘Q�q“T˜5Ö!r-   c           
     óä   € \        V P                  V P                  R ,           4      p\        V! \	        \        \        R4      4      4      \        P                  ! \	        R4      RR7      4       R# )Ú_array_outputr   re   r   N)	r   r   r    r   r#   r$   r%   r!   r"   r“   s   & r*   r>   ÚTestCharacter.test_array_outputK  sG   € Ü�D—K‘K §¡°Õ!?Ó@ˆä™1œT¤#¤c¨5£/Ó2Ó3ÜŸ8š8¤D¨£K°tÔ<ö	>r-   c                óÀ   € \        V P                  V P                  R ,           4      p\        V! R4      R4       \        V! R4      R4       \        V! R4      R4       R# )Ú_input_outputrh   r   r   rl   N©r   r   r    r   r“   s   & r*   Útest_input_outputÚTestCharacter.test_input_outputQ  sE   € Ü�D—K‘K §¡°Õ!?Ó@ˆä‘Q�t“W˜dÔ#Ü‘Q�s“V˜TÔ"Ü‘Q�r“U˜EÖ"r-   c                ó:  € \        V P                  V P                  R ,           4      p\        P                  ! \        R4      VR7      pV! VR4       \        V\        P                  ! \        R4      VP                  R7      4       V! VR,          R4       \        V\        P                  ! \        R4      VP                  R7      4       \        P                  ! R.VR7      pV! VR4       \        V\        P                  ! R.VP                  R7      4       R# )	Ú_inoutr   r   r3   ÚAbcºé   NNÚBÚABcN)r   r   r    r!   r"   r#   r   r   )r'   r   r)   r   s   &&  r*   Ú
test_inoutÚTestCharacter.test_inoutX  sµ   € ä�D—K‘K §¡°Õ!8Ó9ˆä�HŠH”T˜%“[¨Ô.ˆÙ	ˆ!ˆSŒ	Ü˜1œbŸhšh¤t¨E£{¸!¿'¹'ÔBÔCÙ	ˆ!ˆB�%�ŒÜ˜1œbŸhšh¤t¨E£{¸!¿'¹'ÔBÔCä�HŠH�e�W EÔ*ˆÙ	ˆ!ˆSŒ	Ü˜1œbŸhšh¨ w°a·g±gÔ>Ö?r-   c                ó@  € \        V P                  V P                  R ,           4      p\        P                  ! RRR7      pV! VR4       \        V\        P                  ! RVP                  R7      4       \        P                  ! R.RR7      pV! VR4       \        V\        P                  ! R.VP                  R7      4        V! RR4       \        VP                   R24      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)	rž   r   ÚS3r   r3   rŸ   z  should have failed on str valuez
 got 3-strN)r   r   r    r!   r"   r   r   rn   rN   r…   rp   rq   rs   s   &   r*   Útest_inout_variaÚTestCharacter.test_inout_variaf  sÚ   € Ü�D—K‘K §¡°Õ!8Ó9ˆÜ�HŠH�U $Ô'ˆÙ	ˆ!ˆSŒ	Ü˜1œbŸhšh u°A·G±GÔ<Ô=ä�HŠH�e�W DÔ)ˆÙ	ˆ!ˆSŒ	Ü˜1œbŸhšh¨ w°a·g±gÔ>Ô?ð	OÙˆe�SŒMô
  §¡ Ð,LÐMÓNÐNøô	 ô 	Ü�s“8×$Ñ$ \×2Ò2Øõ 3ûð	ús   Ã	C& Ã&DÃ1!DÄDc                óü  € \        V P                  V P                  R ,           4      p\        P                  ! . ROVRR7      p\        P                  ! . R	OVRR7      pV! WC4       \        WC4       \        P                  ! . R
OVR7      pV! VR,          V4       \        V\        P                  ! . ROVR7      4       \        P                  ! . R	O.VRR7      pV! WC4       \        V\        P                  ! . RO.VR7      4       \        P                  ! . R
OVRR7      p V! WC4       \        VP                   R24      h  \         d-   p\        T4      P                  R4      '       g   h  Rp?R# Rp?ii ; i)Ú_array_inoutrB   rD   r   r    r�   r‚   N©r3   r¢   ÚCrz   rƒ   )r   r3   r¢   r­   )r   r   r    r!   r"   r   rn   rN   r…   rp   rq   )r'   r   r)   Únr   rt   s   &&    r*   Útest_array_inoutÚTestCharacter.test_array_inoutx  s-  € ä�D—K‘K §¡°Õ!>Ó?ˆÜ�HŠH’_¨E¸Ô=ˆä�HŠH’_¨E¸Ô=ˆÙ	ˆ!ŒÜ˜1Ô ä�HŠHÒ)°Ô7ˆÙ	ˆ!ˆB�%�ŒÜ˜1œbŸhšhÒ';À5ÔIÔJä�HŠH’oÐ&¨e¸3Ô?ˆÙ	ˆ!ŒÜ˜1œbŸhšhªÐ'8ÀÔFÔGä�HŠHÒ)°¸cÔBˆð	CÙˆaŒGô Ø—:‘:�,Ð@ÐAóCð Cøô ô 	Ü�s“8×$Ñ$Ø?÷Aò AàõAûð	ús   Ä$E ÅE;Å!E6Å6E;c                óö   € \        V P                  V P                  R ,           4      p\        P                  ! . RO. RO.VRR7      p\        P                  ! . RO. RO.VRR7      pV! WC4       \        WC4       R# )Ú_2d_array_inoutrB   rD   Nr¬   )ÚDÚErB   rz   r‹   ©r   r   r    r!   r"   r   )r'   r   r)   r®   r   s   &&   r*   Útest_2d_array_inoutÚ!TestCharacter.test_2d_array_inout”  si   € ä�D—K‘K §¡Ð0AÕ!AÓBˆÜ�HŠH’oÚ%ð'à ¨ô-ˆô �HŠH’oÚ%ð'à ¨ô-ˆñ 	
ˆ!ŒÜ˜1Ö r-   c                óx   € \        V P                  V P                  R ,           4      p\        V! R4      R4       R# )Ú_returnr   rh   Nrš   r“   s   & r*   Útest_returnÚTestCharacter.test_return   s)   € Ü�D—K‘K §¡°	Õ!9Ó:ˆä‘Q�s“V˜TÖ"r-   z*fortran function returning array segfaultsc                óº   € \        V P                  V P                  R ,           4      p\        P                  ! \        R4      RR7      p\        V! V4      V4       R# )Ú_array_returnr   re   r   Nr7   )r'   r)   r   s   &  r*   Útest_array_returnÚTestCharacter.test_array_return¥  s=   € ä�D—K‘K §¡°Õ!?Ó@ˆä�HŠH”T˜%“[¨Ô-ˆÜ™1˜Q›4 Ö#r-   c                óš   € \        V P                  V P                  R ,           4      p\        V! 4       R4       \        V! R4      R4       R# )Ú	_optionalrh   ó   BNrš   r“   s   & r*   Útest_optionalÚTestCharacter.test_optional¬  s5   € Ü�D—K‘K §¡°Õ!;Ó<ˆä‘Q“S˜$ÔÜ‘Q�t“W˜dÖ#r-   rL   N)rd   re   rŠ   )rN   rO   rP   rQ   rR   r    rV   rW   rX   rT   rY   rZ   r[   r+   ru   r:   r†   rJ   r0   r>   r›   r¤   r¨   r¯   r¶   rº   Úskipr¾   rÃ   r\   r]   r^   s   @r*   ra   ra   ‰   sþ  ø‡ € à€FØ€Gà�?Š?÷ eó eð  ð eØ�)ðeððeð �iðeð ðeð �)ðeððeð �iðeð ðeð �)ðeððeð( �ið)eð( ð)eð, �)ð-eð,ð-eð6 �ið7eð6 ð7eð: �	ð;eð:ð;eðB �IðCeðBðCeðF �)ðGeðFðGeðV �iðWeðV ðWeðZ �)ð[eðZ
ð[eðn �iðoeðn ðoeðr �)ðseðrðseð@ �iðAeð@ ðAeðD �)ðEeðDðEeðR �iðSeðR ðSeðV �)ðWeðV
ðWeðj �iðkeðj ðkeðn �	ðoeðnðoeðz �Ið{eðzð{eð~ �	ðeð~ðeðH �IðIeðHôIeó e	€DðN ‡[�[×Ñ˜W s¨D kÓ2ñBó 3ðBò!OðF ‡[�[×Ñ˜WÒ&7Ó8ñHó 9ðHòCð" ‡[�[×Ñ˜WÒ&7Ó8ñ+ó 9ð+ò"ò>ò#ð ‡[�[×Ñ˜W s¨D kÓ2ñ@ó 3ð@òOð$ ‡[�[×Ñ˜W s¨D kÓ2ñCó 3ðCð6 ‡[�[×Ñ˜W s¨D kÓ2ñ	!ó 3ð	!ò#ð
 ‡[�[×ÑÐBÓCñ$ó Dð$÷$ð $r-   ra   c                   ó(  a € ] tR tRt o RtRt]P                  ! R] R] R] R] R] R	] R
] R] R] R] R] R] R24      t]	P                  P                  R 4       tR tR tR t]	P                  P!                  RRR.4      R 4       tRtV tR# )ÚTestMiscCharacteri³  r	   Útest_misc_characterrc   a(  _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                ó®   € \        V P                  V P                  R ,           4      p\        P                  ! RR.RR7      pV! V4      p\        W#4       R# )Ú_gh18684ÚabcdeÚfghijÚS5r   Nrµ   )r'   r)   ÚxÚys   &   r*   Útest_gh18684ÚTestMiscCharacter.test_gh18684  sC   € ô �D—K‘K §¡°
Õ!:Ó;ˆÜ�HŠH�g˜wÐ'¨tÔ4ˆÙˆa‹Dˆä˜1Ö r-   c                ó2  € \        V P                  V P                  R ,           4      p\        V P                  P                  P
                  P                  \        P                  ! R4      4       \        \        V P                  P                  P
                  4      ^4       V! R^ 4       \        V P                  P                  P
                  ^ ,          R4       V! R^4       \        V P                  P                  P
                  ^,          R4       R# )Ú_gh6308rÍ   rË   s   abcdeÚ12345s   12345N)	r   r   r    r   Ú_BLNK_Únamer   r!   Úlenr“   s   & r*   Útest_gh6308ÚTestMiscCharacter.test_gh6308  s²   € ä�D—K‘K §¡°	Õ!9Ó:ˆä�T—[‘[×'Ñ'×,Ñ,×2Ñ2´B·H²H¸T³NÔCÜ”S˜Ÿ™×+Ñ+×0Ñ0Ó1°2Ô6Ù	ˆ'�1ŒÜ�T—[‘[×'Ñ'×,Ñ,¨QÕ/°Ô:Ù	ˆ'�1ŒÜ�T—[‘[×'Ñ'×,Ñ,¨QÕ/°Ö:r-   c                ó  € \        V P                  V P                  R ,           4      pRRRR\        P                  ! R4      /3RRRR\        P                  ! R4      /3\        P
                  ! . RORR7      RRR\        P                  ! R4      /3. RORRR\        P                  ! R4      /3R	R	.RRR\        P                  ! R4      /33 F;  w  r#V! V4      pVP                  4        F  w  rV\        \        WE4      V4       K  	  K=  	  R
# )Ú_gh4519r   Úshaper   re   ÚtextÚS4r   ÚS2r   NrL   )r   Ú2r   )é   )r   rà   Ú34)é   )r   r   r    r!   r   r"   Úitemsr   )r'   r)   rÎ   r9   ÚrÚkÚvs   &      r*   Útest_gh4519ÚTestMiscCharacter.test_gh4519  së   € ä�D—K‘K §¡°	Õ!9Ó:ˆð �w  G¬R¯XªX°d«^Ð<Ð=Ø˜' 2 w´·²¸³Ð?Ð@Ü—’š/°Ô6Ø˜4 ¬"¯(ª(°4«.Ð9ð;â!Ø˜4 ¬"¯(ª(°4«.Ð9ð;à�b�˜G T¨7´B·H²H¸T³NÐCÐDóF‰KˆAñ �!“ˆAØ Ÿ™Ö(‘�ÜœW Q›]¨AÖ.ó )óFr-   c                óÀ   € \        V P                  V P                  R ,           4      p\        V! R4      R4       \        V! R4      R4       \        V! R4      R4       R# )Ú_gh3425ÚabCs   ABCr   r-   ÚabC12ds   ABC12DNrš   r“   s   & r*   Útest_gh3425ÚTestMiscCharacter.test_gh3425*  sG   € ä�D—K‘K §¡°	Õ!9Ó:ˆô 	‘Q�u“X˜vÔ&Ü‘Q�r“U˜CÔ Ü‘Q�x“[ )Ö,r-   ÚstateÚnewÚoldc                ó6  a€ \        V P                  V P                  R ,           V,           4      oS! 4       w  r#\        VR4       \        \	        V4      ^4       S! R4      w  r#\        VR4       \        \	        V4      ^4       \        \        V3R l4       R# )Ú_character_bc_rh   r}   c                  ó   <€ S ! R 4      # )r~   rL   )r)   s   €r*   Ú<lambda>Ú5TestMiscCharacter.test_character_bc.<locals>.<lambda>?  s	   ø€ ©¨4¬r-   N)r   r   r    r   r×   r   Ú	Exception)r'   rð   rd   r   r)   s   &&  @r*   Útest_character_bcÚ#TestMiscCharacter.test_character_bc3  sp   ø€ ä�D—K‘K §¡Ð0@Õ!@À5Õ!HÓIˆá‹s‰ˆÜ�Q˜ÔÜ”S˜“V˜QÔá�‹w‰ˆÜ�Q˜ÔÜ”S˜“V˜QÔä”i¤Ö1r-   rL   N)rN   rO   rP   rQ   rR   r    rV   rW   rT   rY   rZ   ÚslowrÐ   rØ   rè   rî   r[   rù   r\   r]   r^   s   @r*   rÇ   rÇ   ³  s  ø‡ € à€FØ#€Gà�?Š?ð  Ø�)ð ð �ið  à�)ð ð �ið  à�)ð ð �ið  à�Yð ð �Ið à�)ð ð �ið  à�)ð ð �ið  ðWLó L	€Dð\ ‡[�[×Ññ!ó ð!ò	;ò/ò -ð ‡[�[×Ñ˜W u¨e nÓ5ñ2ó 6ö2r-   rÇ   c                   óX   a € ] tR tRt o ]P
                  ! RRRR4      .tR tR tRt	V t
R	# )
ÚTestStringScalarArriB  ÚtestsÚsrcÚstringzscalar_string.f90c                óè   € V P                   P                  P                  V P                   P                  P                  3 F-  pRpVP                  V8X  g   Q hR pVP
                  V8X  d   K-  Q h	  R# )z|S8NrL   )r   Ústring_testr   Ústring77rÜ   r   ©r'   Úoutr9   s   &  r*   Ú	test_charÚTestStringScalarArr.test_charE  sb   € Ø—K‘K×+Ñ+×2Ñ2Ø—K‘K×+Ñ+×4Ñ4ó6ˆCàˆHØ—9‘9 Ô(Ð(Ð(ØˆHØ—9‘9 Ö(Ð(Ð(ó6r-   c                óè   € V P                   P                  P                  V P                   P                  P                  3 F-  pRpVP                  V8X  g   Q hRpVP
                  V8X  d   K-  Q h	  R# )é   z|S12N)r	  é   )r   r  ÚstrarrÚstrarr77rÜ   r   r  s   &  r*   Útest_char_arrÚ!TestStringScalarArr.test_char_arrM  sb   € Ø—K‘K×+Ñ+×2Ñ2Ø—K‘K×+Ñ+×4Ñ4ó6ˆCàˆHØ—9‘9 Ô(Ð(Ð(ØˆHØ—9‘9 Ö(Ð(Ð(ó6r-   rL   N)rN   rO   rP   rQ   r   ÚgetpathÚsourcesr  r  r\   r]   r^   s   @r*   rý   rý   B  s,   ø‡ € Ø�|Š|˜G U¨HÐ6IÓJÐK€Gò)÷)ð )r-   rý   c                   óR   a € ] tR tRt o ]P
                  ! RRRR4      .tR tRtV t	R# )	ÚTestStringAssumedLengthiU  rþ   rÿ   r   z	gh24008.fc                ó>   € V P                   P                  R R4       R# )ÚjoeÚbobN)r   Úgreet)r'   s   &r*   Útest_gh24008Ú$TestStringAssumedLength.test_gh24008X  s   € Ø�‰×Ñ˜% Ö'r-   rL   N)
rN   rO   rP   rQ   r   r  r  r  r\   r]   r^   s   @r*   r  r  U  s&   ø‡ € Ø�|Š|˜G U¨H°kÓBÐC€G÷(ð (r-   r  c                   óR   a € ] tR tRt o ]P
                  ! RRRR4      .tR tRtV t	R# )	ÚTestStringOptionalInOuti[  rþ   rÿ   r   zgh24662.f90c                ó¢  € V P                   P                  4        \        P                  ! R RR7      pV P                   P                  V4       RVP	                  4       P                  4       9   g   Q h\        P                  ! \        4      ;_uu_ 4        RpV P                   P                  V4       RRR4       R#   + '       g   i     R# ; i)ÚhiÚS32r   zoutput stringÚHiN)	r   Ústring_inout_optionalr!   r"   ÚtobytesÚdecoderY   Úraisesrø   )r'   r   Úaas   &  r*   Útest_gh24662Ú$TestStringOptionalInOut.test_gh24662_  s†   € Ø�‰×)Ñ)Ô+Ü�HŠH�T Ô'ˆØ�‰×)Ñ)¨!Ô,Ø !§)¡)£+×"4Ñ"4Ó"6Ô6Ð6Ð6Ü�]Š]œ9×%Õ%ØˆBØ�K‰K×-Ñ-¨bÔ1÷ &×%×%Ò%ús   ÂB=Â=C	rL   N)
rN   rO   rP   rQ   r   r  r  r$  r\   r]   r^   s   @r*   r  r  [  s&   ø‡ € à�|Š|˜G U¨H°mÓDÐE€G÷2ð 2r-   r  c                   ó~   a € ] tR tRt o ]P
                  ! RRRR4      ]P
                  ! RRRR4      .tRtR tR	t	V t
R
# )ÚTestNewCharHandlingii  rþ   rÿ   r   zgh25286.pyfúgh25286.f90Ú_char_handling_testc                óN   € V P                   P                  R 4      pV^8X  g   Q hR# ©ÚTN©r   Úcharint©r'   Úinfos   & r*   Útest_gh25286Ú TestNewCharHandling.test_gh25286r  ó"   € Ø�{‰{×"Ñ" 3Ó'ˆØ�qŒyÐŠyr-   rL   N©rN   rO   rP   rQ   r   r  r  Úmodule_namer1  r\   r]   r^   s   @r*   r'  r'  i  sC   ø‡ € ð 	�Š�W˜e X¨}Ó=Ø�Š�W˜e X¨}Ó=ð€Gð (€K÷ð r-   r'  c                   ó~   a € ] tR tRt o ]P
                  ! RRRR4      ]P
                  ! RRRR4      .tRtR tR	t	V t
R
# )ÚTestBCCharHandlingiv  rþ   rÿ   r   zgh25286_bc.pyfr(  r)  c                óN   € V P                   P                  R 4      pV^8X  g   Q hR# r+  r-  r/  s   & r*   r1  ÚTestBCCharHandling.test_gh25286  r3  r-   rL   Nr4  r^   s   @r*   r7  r7  v  sD   ø‡ € ð 	�Š�W˜e XÐ/?Ó@Ø�Š�W˜e X¨}Ó=ð€Gð (€K÷ð r-   r7  )rV   rY   Únumpyr!   Únumpy.f2py.testsr   Únumpy.testingr   r   r   rZ   rû   ÚF2PyTestr   ra   rÇ   rý   r  r  r'  r7  rL   r-   r*   Ú<module>r>     s  ðÛ ã ã Ý !ß IÑ Ið ‡�×Ñô{+˜$Ÿ-™-ó {+ó ð{+ô|g$�D—M‘Mô g$ôT	L2˜Ÿ™ô L2ô^)˜$Ÿ-™-ô )ô&(˜dŸm™mô (ð ‡�×Ñô
2˜dŸm™mó 
2ó ð
2ð ‡�×Ñô
˜$Ÿ-™-ó 
ó ð
ð ‡�×Ñô
˜Ÿ™ó 
ó ò
r-   