Ë
    Bü´jš  ã                   ó4  — d dl Z d dlZddlmZ e j
                  j                   G d„ dej                  «      «       Ze j
                  j                   G d„ dej                  «      «       Z	e j
                  j                   G d„ d	ej                  «      «       Z
y)
é    Né   )Úutilc                   ó>   — e Zd Z ej                  dddd«      gZd„ Zy)Ú
TestStringÚtestsÚsrcÚstringzchar.f90c                 óP  — t        j                  g d¢d¬«      j                  }| j                  j                  j                  ||j                  d   «      \  }}|t        j                  |«      k(  sJ ‚|j                  «       }d|dd d …f<   |t        j                  |«      k(  sJ ‚y )N)ÚabÚcdÚefÚc)Údtyper   ÚAAA)
ÚnpÚarrayÚTÚmoduleÚ	char_testÚchange_stringsÚshapeÚpytestÚapproxÚcopy)ÚselfÚstringsÚinpÚoutÚexpecteds        úZ/root/workspace/ytshorts/venv/lib/python3.12/site-packages/numpy/f2py/tests/test_string.pyÚ	test_charzTestString.test_char   s‹   € Ü—(‘(Ò-°SÔ9×;Ñ;ˆØ—;‘;×(Ñ(×7Ñ7Ø�W—]‘] 1Ñ%ó'‰ˆˆSà”f—m‘m GÓ,Ò,Ð,Ð,Ø—<‘<“>ˆØˆ�’A�‰Ø”f—m‘m HÓ-Ò-Ð-Ñ-ó    N)Ú__name__Ú
__module__Ú__qualname__r   ÚgetpathÚsourcesr!   © r"   r    r   r      s    „ àˆt�|‰|˜G U¨H°jÓAÐB€Gó.r"   r   c                   ó>   — e Zd Z ej                  dddd«      gZd„ Zy)ÚTestDocStringArgumentsr   r   r	   zstring.fc                 ó�  — t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }| j                  j                  ||||«       |j	                  «       dk(  sJ ‚|j	                  «       dk(  sJ ‚|j	                  «       dk(  sJ ‚|j	                  «       dk(  sJ ‚y )Ns   123  s   123s   B23  s   D23)r   r   r   ÚfooÚtobytes)r   ÚaÚbr   Úds        r    Útest_examplez#TestDocStringArguments.test_example   s    € Ü�H‰H�ZÓ ˆÜ�H‰H�ZÓ ˆÜ�H‰H�VÓˆÜ�H‰H�VÓˆà�‰�‰˜˜1˜a Ô#à�y‰y‹{˜jÒ(Ð(Ð(Ø�y‰y‹{˜jÒ(Ð(Ð(Ø�y‰y‹{˜fÒ$Ð$Ð$Ø�y‰y‹{˜fÒ$Ð$Ñ$r"   N)r#   r$   r%   r   r&   r'   r1   r(   r"   r    r*   r*      s    „ àˆt�|‰|˜G U¨H°jÓAÐB€Gó%r"   r*   c                   ó^   — e Zd Z ej                  dddd«      gZed
d„«       Zdd„Zd„ Z	d	„ Z
y)ÚTestFixedStringr   r   r	   zfixed_string.f90Nc           	      óB  — t        | t        j                  «      r| j                  «       } n t        | t        «      r| j                  «       } t        | t        «      sJ ‚|€t        | «      }d}t        |t        |t        | «      «      «      D ]  }|| |   d|z  z  z  }Œ |S )z—Return the content of a string buffer as integer value.

        For example:
          _sint('1234') -> 4321
          _sint('123A') -> 17321
        r   é
   )
Ú
isinstancer   Úndarrayr-   ÚstrÚencodeÚbytesÚlenÚrangeÚmin)ÚsÚstartÚendÚiÚjs        r    Ú_sintzTestFixedString._sint,   s‘   € ô �aœŸ™Ô$Ø—	‘	“‰AÜ˜œ3ÔØ—‘“
ˆAÜ˜!œUÔ#Ð#Ð#Øˆ;Ü�a“&ˆCØˆÜ�uœc #¤s¨1£vÓ.Ó/ò 	ˆAØ��1‘˜˜A™‘Ñ‰Að	àˆr"   c              #   ó,  K  — |dv r,d–— d–— d–— d–— d–— d–— d–— d	–— d
–— d–— d–— t        j                  dt         j                  d¬«      –— t        j                  d«      –— t        j                  d«      –— t        j                  d«      –— t        j                  d
«      –— t        j                  d	«      –— t        j                  d«      –— t        j                  d«      –— t        j                  d«      –— y ­w)N©ÚinÚ Ú1Ú1234Ú12345r"   ó    ó   1ó   s   1 s   1234s   12345r(   )Úbuffers   123 )r   r7   Úbytes_r   )r   Úintents     r    Ú
_get_inputzTestFixedString._get_input@   sÑ   è ø€ Ø�VÑØŠHØŠIØŠLØŠMØŠIØŠKØŠJØŠLØŠLØŠMØŠNÜ�j‰j˜œRŸY™Y¨sÔ3Ò3Ü�h‰h�s‹mÒÜ�h‰h�u‹oÒÜ�h‰h�t‹nÒÜ�h‰h�vÓÒÜ�h‰h�vÓÒÜ�h‰h�wÓÒÜ�h‰h�xÓ Ò Ü�h‰h�xÓ Ó ùs   ‚DDc                 ó¢   — | j                  «       D ]<  }| j                  j                  |«      }| j                  |d¬«      }||k(  rŒ7J |«       ‚ y )Né   ©r@   )rQ   r   Útest_in_bytes4rC   )r   r>   Úrr   s       r    Útest_intent_inzTestFixedString.test_intent_inW   sO   € Ø—‘Ó"ò 	$ˆAØ—‘×*Ñ*¨1Ó-ˆAà—z‘z !¨�zÓ+ˆHØ˜“=Ð# !Ó#�=ñ		$r"   c                 óò   — | j                  d¬«      D ]b  }| j                  |d¬«      }| j                  j                  |«      }| j                  |d¬«      }||k(  sJ ‚|| j                  |d¬«      k(  rŒbJ ‚ y )NÚinout)rP   rS   )r?   rT   )rQ   rC   r   Útest_inout_bytes4)r   r>   ÚrestrV   r   s        r    Útest_intent_inoutz!TestFixedString.test_intent_inout^   s}   € Ø—‘¨�Ó0ò 	2ˆAØ—:‘:˜a q�:Ó)ˆDØ—‘×-Ñ-¨aÓ0ˆAØ—z‘z !¨�zÓ+ˆHØ˜’=Ð �=ð ˜4Ÿ:™: a¨q˜:Ó1Ó1Ð1Ð1ñ	2r"   )r   NrE   )r#   r$   r%   r   r&   r'   ÚstaticmethodrC   rQ   rW   r\   r(   r"   r    r3   r3   (   s=   „ àˆt�|‰|˜G U¨HÐ6HÓIÐJ€Gàòó ðó&!ò.$ó2r"   r3   )r   Únumpyr   rG   r   ÚmarkÚslowÚF2PyTestr   r*   r3   r(   r"   r    ú<module>rb      s‰   ðÛ ã å ð ‡�×Ñô
.�—‘ó 
.ó ð
.ð ‡�×Ñô%˜TŸ]™]ó %ó ð%ð" ‡�×Ñô=2�d—m‘mó =2ó ñ=2r"   