+
    eiU  c                   sV   ^ 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# )i    N)util)assert_array_equalassert_equalassert_raisesc                   s  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.f90Z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                s$   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      &&   F/usr/lib64/python3.14/site-packages/numpy/f2py/tests/test_character.py
test_inputZTestCharacterString.test_inputO   so    &/%%f5DKK	!9G!CD#sE6;7?1Q4$s3{*;4!HI    Nc                s   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   Zencoder    r$   r%   test_outputZTestCharacterString.test_outputX   sf    DKK
!:W!DE#sE"6*1RXXd3sA;&7tDE88:	'r'   c           	     s^   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expected   &&     r%   test_array_inputZ$TestCharacterString.test_array_inputb   s    DKK!?'!IJHHsCeV[A&ICeV[A&I"$ 88a0aT!Wa0=1Q4* 1   9B*c           	     s^   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   r)   r*   r+   r   r   Nr   r,   r-   )r!   r   r"   r#   r/   r.   r   r0   r%   test_array_outputZ%TestCharacterString.test_array_outputn   s    DKK0@!@7!JK883UFK8@3UFK8@BILN HHx0x!d1gx0=1Q4* 1r2   c                s   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   r)   r*   r#   ZfghFZFGHr+   r   r   r   ZorderNr   r,   ZfghijfghijfghijZFGHIJFGHIJFGHIJr-   )r!   r   r"   r#   r   ZrowZitemr/   s   &&      r%   test_2d_array_inputZ'TestCharacterString.test_2d_array_inputz   s    DKK0B!BW!LMHHS#ufkB6JS#ufkB6JLS#ufkB6JS#ufkB6JLM 	 
 88QGQcS9STd4jS9QG"&c31Q4* :Gs   C
 C4C
C
 )r   r   r   i)__name__
__module____qualname____firstlineno__suffixr   Zlength_listcoder   r"   r   Zclengthtextwrapdedentjoinpytestmarkparametrizer&   r(   r1   r3   r6   __static_attributes____classdictcell__Z__classdict__   @r%   r   r   
   sh     F%G$KD5/%%ff5 7! 7! % 7!97!#7!$+97!-7! I7!7!  y7! !(7! )0y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  y97!8 !.97!8 /6Y97!8797!< 9=7!< +=7!< ,3)=7!<4=7!> I?7!>	?7!P  yQ7!P !/Q7!P 07iQ7!P8Q7!T 9U7!T -U7!T .5IU7!T6U7!X IY7!X
Y7!l  ym7!l !1m7!l 29	m7!l:	m7! 7 7		 z [[X{3J 4J [[X{3B'78' 9' [[X{3	+ 4	+ [[X{3	+ 4	+ [[X{3+ 4+r'   r   c                   s  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   Z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           	     sD   \        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#      && r%   r&   ZTestCharacter.test_input   s    DKK!89Qrxx512CH=QrxxE23SX>QrxxU34c#h?QrxxU34c#h?Qrxx#u56CAr'   c                s   \        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)rL   r   rM   r   r'       Z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   SystemErrorr8   Z
IndexErrorstrendswithZ	TypeErrorr!   r#   r   msg   &   r%   test_input_variaZTestCharacter.test_input_varia   s   DKK!89QsVSX&QtWc$i(QrUAQsVQQuXq!QtWc#h'QuXs3x(QuXs3x(Qrxx~&C1Qrxx'(#c(3HHSMQqT3s8$HHcUOQqT3s8$	PbE
 ,MNOO	  	s8$$]33 4		ObE
 ,LMNN	  	s8$$%899 :	s0   )G	 	G?!G::G?H# #I.!IIc                s   \        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   brJ   rM      b   c)	r   r   r   r   r   r   r   r   r   rN   rO   r%   r1   ZTestCharacter.test_array_input"  s    DKK!>?1RXXoUCD88DS%$9F	H1RXX&8FG88DS%$9F	Hr'   c                s   \        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[   rJ   d)r   r   r   r   r   r   r   r   r   rQ   r8   
ValueErrorrR   rS   )r!   r#   rU      &  r%   test_array_input_variaZ$TestCharacter.test_array_input_varia+  s    DKK!>?1_-88DS%$9F	H1/088DS%$9F	H	C"# ::,@AC C  	s8$$?A AA	s   +
C D!C??Dc                s"   \        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# )Z_2d_array_inputr4   r5   U1NrZ   rb   Zer#   )	r   r   r   r   r   ZviewZuint32Zuint8r   )r!   r   r#   r   r/   r$   r%   r6   Z!TestCharacter.test_2d_array_input<  sf    DKK0A!ABHHo%'.33@66u}"))"((C1Q4*r'   c                s    \        V P                  V P                  R ,           4      p\        V! \	        R4      4      R4       \        V! ^ 4      R4       R# )Z_outputrM   rP   N)r   r   r   r   r   r!   r#      & r%   r(   ZTestCharacter.test_outputE  s;    DKK	!9:Qs4y\4(QqT5!r'   c           
     s    \        V P                  V P                  R ,           4      p\        V! \	        \        \        R4      4      4      \        P                  ! \	        R4      RR7      4       R# )Z_array_outputr   rK   r   N)	r   r   r   r   r   r   r   r   r   rh   ri   r%   r3   ZTestCharacter.test_array_outputK  sG    DKK!?@1T#c5/2388DKt<	>r'   c                s    \        V P                  V P                  R ,           4      p\        V! R4      R4       \        V! R4      R4       \        V! R4      R4       R# )Z_input_outputrM   r   r   rP   Nr   r   r   r   rh   ri   r%   test_input_outputZTestCharacter.test_input_outputQ  sE    DKK!?@QtWd#QsVT"QrUE"r'   c                s:   \        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   r)   Abci   NNBZABcN)r   r   r   r   r   r   r   r   )r!   r   r#   r   s   &&  r%   
test_inoutZTestCharacter.test_inoutX  s    DKK!89HHT%[.	!S	1bhhtE{!''BC	!B%1bhhtE{!''BCHHeWE*	!S	1bhhwagg>?r'   c                s@   \        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)	rl   r   ZS3r   r)   rm   z  should have failed on str valuez
 got 3-strN)r   r   r   r   r   r   r   rQ   r8   rc   rR   rS   rT   rV   r%   test_inout_variaZTestCharacter.test_inout_variaf  s    DKK!89HHU$'	!S	1bhhuAGG<=HHeWD)	!S	1bhhwagg>?	OeSM
 ,LMNN	  	s8$$\22 3	s   	C& &D1!DDc                s   \        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)Z_array_inoutr4   r5   r   rn   r_   r`   Nr)   ro   CrZ   ra   )r   r)   ro   rs   )r   r   r   r   r   r   rQ   r8   rc   rR   rS   )r!   r   r#   nr   rU   s   &&    r%   test_array_inoutZTestCharacter.test_array_inoutx  s-   DKK!>?HH_E=HH_E=	!1 HH)7	!B%1bhh';5IJHHo&e3?	!1bhh'8FGHH)cB	CaG ::,@AC C  	s8$$?A AA	s   $E E;!E66E;c                s    \        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# )Z_2d_array_inoutr4   r5   Nrr   )ZDZEr4   rZ   rg   r   r   r   r   r   r   )r!   r   r#   rt   r   r$   r%   test_2d_array_inoutZ!TestCharacter.test_2d_array_inout  si    DKK0A!ABHHo%' - HHo%' - 	
!1 r'   c                sx    \        V P                  V P                  R ,           4      p\        V! R4      R4       R# )Z_returnr   rM   Nrj   rh   ri   r%   test_returnZTestCharacter.test_return  s)    DKK	!9:QsVT"r'   z*fortran function returning array segfaultsc                s    \        V P                  V P                  R ,           4      p\        P                  ! \        R4      RR7      p\        V! V4      V4       R# )Z_array_returnr   rK   r   Nr-   )r!   r#   r   rd   r%   test_array_returnZTestCharacter.test_array_return  s=    DKK!?@HHT%[-1Q4#r'   c                s    \        V P                  V P                  R ,           4      p\        V! 4       R4       \        V! R4      R4       R# )Z	_optionalrM   s   BNrj   rh   ri   r%   test_optionalZTestCharacter.test_optional  s5    DKK!;<QS$QtWd#r'   r7   N)rJ   rK   rf   )r8   r9   r:   r;   r<   r   r>   r?   r@   r=   rA   rB   rC   r&   rW   r1   re   r6   r(   r3   rk   rp   rq   ru   rw   rx   Zskipry   rz   rD   rE   rF   rG   r%   rH   rH      s    FG?? e e   e)ee ie e )ee ie e )ee( i)e( )e, )-e,-e6 i7e6 7e: 	;e:;eB ICeBCeF )GeFGeV iWeV WeZ )[eZ
[en ioen oer )serse@ iAe@ AeD )EeDEeR iSeR SeV )WeV
Wej ikej ken 	oenoez I{ez{e~ 	e~eH IIeHIe e	DN [[WsDk2B 3B!OF [[W&78H 9HC" [[W&78+ 9+"># [[WsDk2@ 3@O$ [[WsDk2C 3C6 [[WsDk2	! 3	!#
 [[BC$ D$$ $r'   rH   c                   s(  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   Ztest_misc_characterrI   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                s    \        V P                  V P                  R ,           4      p\        P                  ! RR.RR7      pV! V4      p\        W#4       R# )Z_gh18684abcdeZfghijS5r   Nrv   )r!   r#   xZyrV   r%   test_gh18684ZTestMiscCharacter.test_gh18684  sC     DKK
!:;HHgw't4aD1 r'   c                s2   \        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# )Z_gh6308r}   r|   s   abcdeZ12345s   12345N)	r   r   r   r   Z_BLNK_Znamer   r   lenrh   ri   r%   test_gh6308ZTestMiscCharacter.test_gh6308  s    DKK	!9:T[['',,22BHHTNCS++00126	'1T[['',,Q/:	'1T[['',,Q/:r'   c                s   \        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
# )Z_gh4519r   shaper   rK   ZtextZS4r   ZS2r   Nr7   )r   2r   )i   )r   r   Z34)i   )r   r   r   r   r   r   Zitemsr   )r!   r#   r~   r/   ZrZkZvs   &      r%   test_gh4519ZTestMiscCharacter.test_gh4519  s    DKK	!9: wGRXXd^<='2w?@/64"((4.9;!4"((4.9;bGT7BHHTNCDFKA !A (WQ]A. )Fr'   c                s    \        V P                  V P                  R ,           4      p\        V! R4      R4       \        V! R4      R4       \        V! R4      R4       R# )Z_gh3425ZabCs   ABCr   r'   ZabC12ds   ABC12DNrj   rh   ri   r%   test_gh3425ZTestMiscCharacter.test_gh3425*  sG    DKK	!9: 	QuXv&QrUC Qx[),r'   stateZnewZoldc                s6  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# )Z_character_bc_rM   r]   c                  s   < S ! R 4      # )r^   r7   )r#   s   r%   Z<lambda>Z5TestMiscCharacter.test_character_bc.<locals>.<lambda>?  s	    4r'   N)r   r   r   r   r   r   	Exception)r!   r   rJ   r   r#   s   &&  @r%   test_character_bcZ#TestMiscCharacter.test_character_bc3  sp    DKK0@!@5!HIsQSVQwQSVQi1r'   r7   N)r8   r9   r:   r;   r<   r   r>   r?   r=   rA   rB   slowr   r   r   r   rC   r   rD   rE   rF   rG   r%   r{   r{     s    F#G??  )  i  )  i  )  i  Y  I )  i  )  i  WL L	D\ [[! !	;/ - [[Wuen52 62r'   r{   c                   sX   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                s    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|S8Nr7   )r   string_testr   Zstring77r   r   r!   Zoutr/   rd   r%   	test_charZTestStringScalarArr.test_charE  sb    KK++22KK++446CH99(((H99(((6r'   c                s    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   i   )r   r   ZstrarrZstrarr77r   r   r   rd   r%   test_char_arrZ!TestStringScalarArr.test_char_arrM  sb    KK++22KK++446CH99(((H99(((6r'   r7   N)r8   r9   r:   r;   r    getpathsourcesr   r   rD   rE   rF   rG   r%   r   r   B  s,     ||GUH6IJKG)) )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                s>    V P                   P                  R R4       R# )ZjoeZbobN)r   Zgreet)r!   s   &r%   test_gh24008Z$TestStringAssumedLength.test_gh24008X  s    %'r'   r7   N)
r8   r9   r:   r;   r    r   r   r   rD   rE   rF   rG   r%   r   r   U  s&     ||GUHkBCG( (r'   r   c                   r   )	TestStringOptionalInOuti[  r   r   r   zgh24662.f90c                s   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)ZhiZS32r   zoutput stringZHiN)	r   Zstring_inout_optionalr   r   ZtobytesZdecoderA   Zraisesr   )r!   r   Zaard   r%   test_gh24662Z$TestStringOptionalInOut.test_gh24662_  s    ))+HHT'))!,!))+"4"4"6666]]9%%BKK--b1 &%%%s   B==C	r7   N)
r8   r9   r:   r;   r    r   r   r   rD   rE   rF   rG   r%   r   r   [  s&     ||GUHmDEG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# ZTNr   Zcharintr!   Zinfori   r%   test_gh25286Z TestNewCharHandling.test_gh25286r  "    {{""3'qyyr'   r7   Nr8   r9   r:   r;   r    r   r   Zmodule_namer   rD   rE   rF   rG   r%   r   r   i  sC      	WeX}=WeX}=G (K r'   r   c                   r   )TestBCCharHandlingiv  r   r   r   zgh25286_bc.pyfr   r   c                r   r   r   r   ri   r%   r   ZTestBCCharHandling.test_gh25286  r   r'   r7   Nr   rF   rG   r%   r   r   v  sD      	WeX/?@WeX}=G (K r'   r   )r>   rA   Znumpyr   Znumpy.f2py.testsr    Znumpy.testingr   r   r   rB   r   ZF2PyTestr   rH   r{   r   r   r   r   r   r7   r'   r%   <module>r      s      ! I I {+$-- {+ {+|g$DMM g$T	L2 L2^)$-- )&(dmm ( 
2dmm 
2 
2 
$-- 
 
 
 
 
r'   