§
    µ³Ùgî  ã                   óÄ   — d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	Z
ddlmZmZ ddlmZ ddlmZmZmZmZmZmZ ed	„ ¦   «         Zd
„ Zd„ Zd„ Z G d„ d¦  «        ZdS )z
 Testing

é    N)ÚBytesIO)Úmkstemp)Úcontextmanager)Úassert_Úassert_equal)Úraises)Úmake_streamÚGenericStreamÚZlibInputStreamÚ
_read_intoÚ_read_stringÚ
BLOCK_SIZEc               #   óv  K  — d} t          ¦   «         \  }}t          j        |d¦  «        5 }|                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d¦  «        5 }t          | ¦  «        }t          | ¦  «        }|||fV — d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         d S )Nó   a stringÚwbÚrb)r   ÚosÚfdopenÚwriteÚopenr   Úunlink)ÚvalÚfdÚfnameÚfsÚgsÚcss         úX/granary/edev/quantum/lib/python3.11/site-packages/scipy/io/matlab/tests/test_streams.pyÚsetup_test_filer      s-  è è € à
€CÝ‘	”	�I€Bˆå	Œ�2�tÑ	Ô	ð  Ø
�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	ˆe�TÑ	Ô	ð ˜bÝ�S‰\Œ\ˆÝ�S‰\Œ\ˆØ�"�bˆjÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ „IˆeÑÔÐÐÐs#   «AÁAÁAÁ(&BÂBÂ!Bc                  óº   — t          ¦   «         5 \  } }}t          t          t          |¦  «        t          ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r   Ú
isinstancer	   r
   )r   r   r   s      r   Útest_make_streamr"   &   s“   € Ý	Ñ	Ô	ð <™l˜r 2 rå•
�; r™?œ?­MÑ:Ô:Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   �4AÁAÁAc                  óÌ  — t          ¦   «         5 \  } }}| ||fD �]0}t          |¦  «        }|                     d¦  «        }t          |d¦  «         t          |                     ¦   «         d¦  «         |                     d¦  «        }t          |d¦  «         t          |                     ¦   «         d¦  «         |                     dd¦  «        }t          |d¦  «         t          |                     ¦   «         d¦  «         |                     dd¦  «        }t          |d¦  «         t          |                     ¦   «         d¦  «         �Œ2	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   é   é   é   é   éþÿÿÿé   )r   r	   Úseekr   Útell©r   r   r   ÚsÚstÚress         r   Útest_tell_seekr0   ,   s}  € Ý	Ñ	Ô	ð '™l˜r 2 rØ�b˜"�ð 	'ñ 	'ˆAÝ˜Q‘”ˆBØ—'’'˜!‘*”*ˆCÝ˜˜aÑ Ô Ð Ý˜Ÿš™œ AÑ&Ô&Ð&Ø—'’'˜!‘*”*ˆCÝ˜˜aÑ Ô Ð Ý˜Ÿš™œ AÑ&Ô&Ð&Ø—'’'˜!˜Q‘-”-ˆCÝ˜˜aÑ Ô Ð Ý˜Ÿš™œ AÑ&Ô&Ð&Ø—'’'˜"˜a‘.”.ˆCÝ˜˜aÑ Ô Ð Ý˜Ÿš™œ AÑ&Ô&Ð&Ñ&ð	'ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   �D<EÅEÅ Ec                  ó<  — t          ¦   «         5 \  } }}| ||fD �]h}t          |¦  «        }|                     d¦  «         |                     d¦  «        }t	          |d¦  «         |                     d¦  «         |                     d¦  «        }t	          |d¦  «         |                     d¦  «         t          |d¦  «        }t	          |d¦  «         t          |d¦  «        }t	          |d¦  «         t          t          t
          |d¦  «         |                     d¦  «         t          |d¦  «        }t	          |d¦  «         t          |d¦  «        }t	          |d¦  «         t          t          t          |d¦  «         �Œj	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   éÿÿÿÿr   é   s   a sts   ringr%   )	r   r	   r*   Úreadr   r   Úassert_raisesÚOSErrorr   r,   s         r   Ú	test_readr7   >   s»  € Ý	Ñ	Ô	ð 8™l˜r 2 rØ�b˜"�ð 	8ñ 	8ˆAÝ˜Q‘”ˆBØ�GŠG�A‰JŒJˆJØ—'’'˜"‘+”+ˆCÝ˜˜nÑ-Ô-Ð-Ø�GŠG�A‰JŒJˆJØ—'’'˜!‘*”*ˆCÝ˜˜jÑ)Ô)Ð)à�GŠG�A‰JŒJˆJÝ˜R Ñ#Ô#ˆCÝ˜˜jÑ)Ô)Ð)Ý˜R Ñ#Ô#ˆCÝ˜˜gÑ&Ô&Ð&Ý�'¥:¨r°1Ñ5Ô5Ð5à�GŠG�A‰JŒJˆJÝ˜r 1Ñ%Ô%ˆCÝ˜˜jÑ)Ô)Ð)Ý˜r 1Ñ%Ô%ˆCÝ˜˜gÑ&Ô&Ð&Ý�'¥<°°QÑ7Ô7Ð7Ñ7ð+	8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   �E4FÆFÆFc                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestZlibInputStreamc                 ó  — t           j                             dd|¦  «                             t           j        ¦  «                             ¦   «         }t          j        |¦  «        }t          |¦  «        }|t          |¦  «        |fS )Nr   é   )
ÚnpÚrandomÚrandintÚastypeÚuint8ÚtobytesÚzlibÚcompressr   Úlen)ÚselfÚsizeÚdataÚcompressed_dataÚstreams        r   Ú	_get_datazTestZlibInputStream._get_dataY   sh   € ÝŒy× Ò   C¨Ñ.Ô.×5Ò5µb´hÑ?Ô?×GÒGÑIÔIˆÝœ-¨Ñ-Ô-ˆÝ˜Ñ)Ô)ˆØ•s˜?Ñ+Ô+¨TÐ1Ð1ó    c           	      óè   ‡ — dddt           dz  t           dz
  t           t           dz   dt           z  dz
  g}t           dz  t           dz
  t           t           dz   g}ˆ fd„}|D ]}|D ]} |||¦  «         ŒŒd S )Nr   r&   é
   r%   c                 ó  •— ‰	                      | ¦  «        \  }}}t          ||¦  «        }d}d}	 |                     t          || |z
  ¦  «        ¦  «        }|sn|t	          |¦  «        z  }||z  }ŒAt          ||¦  «         d S )NrK   r   )rJ   r   r4   ÚminrD   r   )
rF   Ú	read_sizeÚcompressed_streamÚcompressed_data_lenrG   rI   Údata2Úso_farÚblockrE   s
            €r   Úcheckz,TestZlibInputStream.test_read.<locals>.checkf   s¦   ø€ Ø;?¿>º>È$Ñ;OÔ;OÑ8ÐÐ2°DÝ$Ð%6Ð8KÑLÔLˆFØˆEØˆFðØŸš¥C¨	Ø(,¨v©ñ%7ô %7ñ 8ô 8�àð ØØ�#˜e™*œ*Ñ$�Ø˜‘�ðõ ˜˜uÑ%Ô%Ð%Ð%Ð%rK   )r   )rE   ÚSIZESÚ
READ_SIZESrV   rF   rP   s   `     r   r7   zTestZlibInputStream.test_read_   s¬   ø€ Ø�A�r�: q™=­*°Q©,Ý�Z¨™\¨1­Z©<¸©>ð;ˆõ ! !‘m¥Z°¡\Ý ¥*¨Q¡,ð0ˆ
ð	&ð 	&ð 	&ð 	&ð 	&ð ð 	'ð 	'ˆDØ'ð 'ð '�	Ø��d˜IÑ&Ô&Ð&Ð&ð'ð	'ð 	'rK   c                 ó  — d}t           j                             dd|¦  «                             t           j        ¦  «                             ¦   «         }t          j        |¦  «        }t          |dz   ¦  «        }t          |t          |¦  «        ¦  «        }|                     t          |¦  «        ¦  «         t          |                     ¦   «         t          |¦  «        ¦  «         t          t          |j        d¦  «         d S )NiÒ  r   r;   s   abbacacar&   )r<   r=   r>   r?   r@   rA   rB   rC   r   r   rD   r4   r   r+   r5   r6   )rE   rF   rG   rH   rQ   rI   s         r   Útest_read_max_lengthz(TestZlibInputStream.test_read_max_lengthx   sÍ   € ØˆÝŒy× Ò   C¨Ñ.Ô.×5Ò5µb´hÑ?Ô?×GÒGÑIÔIˆÝœ-¨Ñ-Ô-ˆÝ# O°kÑ$AÑBÔBÐÝ Ð!2µC¸Ñ4HÔ4HÑIÔIˆà�Š•C˜‘I”IÑÔÐÝÐ&×+Ò+Ñ-Ô-­s°?Ñ/CÔ/CÑDÔDÐDå•g˜vœ{¨AÑ.Ô.Ð.Ð.Ð.rK   c                 óÎ  — t           j                             ddd¦  «                             t           j        ¦  «                             ¦   «         }t          j        |¦  «        }|d d…         t          |d         dz   dz  g¦  «        z   }t          |¦  «        }t          |t          |¦  «        ¦  «        }t          t          j        |j        t          |¦  «        ¦  «         d S ©Nr   r;   rM   r2   r&   éÿ   )r<   r=   r>   r?   r@   rA   rB   rC   Úbytesr   r   rD   r5   Úerrorr4   ©rE   rG   rH   rQ   rI   s        r   Útest_read_bad_checksumz*TestZlibInputStream.test_read_bad_checksum„   óÃ   € ÝŒy× Ò   C¨Ñ,Ô,×3Ò3µB´HÑ=Ô=×EÒEÑGÔGˆÝœ-¨Ñ-Ô-ˆð +¨3¨B¨3Ô/Ý" _°RÔ%8¸1Ñ%<ÀÑ$CÐ#DÑEÔEñFˆõ $ OÑ4Ô4ÐÝ Ð!2µC¸Ñ4HÔ4HÑIÔIˆå•d”j &¤+­s°4©y¬yÑ9Ô9Ð9Ð9Ð9rK   c                 óÜ  — |                       d¦  «        \  }}}t          ||¦  «        }|                     d¦  «         d}t          |                     ¦   «         |¦  «         |                     d¦  «        }t          ||||dz   …         ¦  «         |                     dd¦  «         d}t          |                     ¦   «         |¦  «         |                     d¦  «        }t          ||||dz   …         ¦  «         |                     dd	¦  «         d}t          |                     ¦   «         |¦  «         |                     d¦  «        }t          ||||dz   …         ¦  «         t          t          |j        d
d¦  «         t          t          |j        dd¦  «         t          t          |j        dd¦  «         |                     dd¦  «         t          t          |j        d¦  «         d S )Né   é{   é   iA  r&   iÇ  é   i�  r   rM   r%   r2   i'  é   )	rJ   r   r*   r   r+   r4   r5   r6   Ú
ValueError)	rE   rQ   rR   rG   rI   ÚpÚd1Úd2Úd3s	            r   Ú	test_seekzTestZlibInputStream.test_seek‘   s¯  € Ø7;·~²~ÀdÑ7KÔ7KÑ4ÐÐ.°å Ð!2Ð4GÑHÔHˆà�Š�CÑÔÐØˆÝ�V—[’[‘]”] AÑ&Ô&Ð&Ø�[Š[˜‰_Œ_ˆÝ�R˜˜a  "¡˜fœÑ&Ô&Ð&à�Š�C˜ÑÔÐØˆÝ�V—[’[‘]”] AÑ&Ô&Ð&Ø�[Š[˜‰_Œ_ˆÝ�R˜˜a  "¡˜fœÑ&Ô&Ð&à�Š�C˜ÑÔÐØˆÝ�V—[’[‘]”] AÑ&Ô&Ð&Ø�[Š[˜‰_Œ_ˆÝ�R˜˜a  "¡˜fœÑ&Ô&Ð&å•g˜vœ{¨B°Ñ2Ô2Ð2Ý•g˜vœ{¨B°Ñ2Ô2Ð2Ý•j &¤+¨q°#Ñ6Ô6Ð6à�Š�E˜1ÑÔÐÝ•g˜vœ{¨BÑ/Ô/Ð/Ð/Ð/rK   c                 óÎ  — t           j                             ddd¦  «                             t           j        ¦  «                             ¦   «         }t          j        |¦  «        }|d d…         t          |d         dz   dz  g¦  «        z   }t          |¦  «        }t          |t          |¦  «        ¦  «        }t          t          j        |j        t          |¦  «        ¦  «         d S r\   )r<   r=   r>   r?   r@   rA   rB   rC   r^   r   r   rD   r5   r_   r*   r`   s        r   Útest_seek_bad_checksumz*TestZlibInputStream.test_seek_bad_checksum¯   rb   rK   c                 óv  — |                       d¦  «        \  }}}t          ||¦  «        }t          |                     ¦   «          ¦  «         |                     d¦  «         t          |                     ¦   «          ¦  «         |                     d¦  «         t          |                     ¦   «         ¦  «         d S )Nrd   i   )rJ   r   r   Úall_data_readr*   )rE   rQ   rR   rG   rI   s        r   Útest_all_data_readz&TestZlibInputStream.test_all_data_read¼   s«   € Ø7;·~²~ÀdÑ7KÔ7KÑ4ÐÐ.°Ý Ð!2Ð4GÑHÔHˆÝ�F×(Ò(Ñ*Ô*Ð*Ñ+Ô+Ð+Ø�Š�CÑÔÐÝ�F×(Ò(Ñ*Ô*Ð*Ñ+Ô+Ð+Ø�Š�DÑÔÐÝ�×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ð'Ð'rK   c                 ó  — d}t          j        d¦  «                             t           j        ¦  «                             ¦   «         }t          j        ||¦  «        }t          |¦  «        }t          |t          dz   k    ¦  «         t          |¦  «        }t          ||¦  «        }t          |                     ¦   «          ¦  «         |                     t          |¦  «        ¦  «         t          |                     ¦   «         ¦  «         d S )Nr)   éøSr%   )r<   Úaranger?   r@   rA   rB   rC   rD   r   r   r   r   rr   r*   ©rE   ÚCOMPRESSION_LEVELrG   rH   rR   rQ   rI   s          r   Útest_all_data_read_overlapz.TestZlibInputStream.test_all_data_read_overlapÅ   sá   € ØÐåŒy˜Ñ"Ô"×)Ò)­"¬(Ñ3Ô3×;Ò;Ñ=Ô=ˆÝœ-¨Ð.?Ñ@Ô@ˆÝ! /Ñ2Ô2Ðõ 	Ð#¥z°A¡~Ò5Ñ6Ô6Ð6å# OÑ4Ô4ÐÝ Ð!2Ð4GÑHÔHˆÝ�F×(Ò(Ñ*Ô*Ð*Ñ+Ô+Ð+Ø�Š•C˜‘I”IÑÔÐÝ�×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ð'Ð'rK   c                 ó`  — d}t          j        d¦  «                             t           j        ¦  «                             ¦   «         }t          j        ||¦  «        }t          |¦  «        }t          |t          dz   k    ¦  «         |d d…         t          |d         dz   dz  g¦  «        z   }t          |¦  «        }t          ||¦  «        }t          |                     ¦   «          ¦  «         |                     t          |¦  «        ¦  «         t          t
          j        |j        ¦  «         d S )Nr)   ru   r%   r2   r&   r]   )r<   rv   r?   r@   rA   rB   rC   rD   r   r   r^   r   r   rr   r*   r5   r_   rw   s          r   Útest_all_data_read_bad_checksumz3TestZlibInputStream.test_all_data_read_bad_checksumÕ   s  € ØÐåŒy˜Ñ"Ô"×)Ò)­"¬(Ñ3Ô3×;Ò;Ñ=Ô=ˆÝœ-¨Ð.?Ñ@Ô@ˆÝ! /Ñ2Ô2Ðõ 	Ð#¥z°A¡~Ò5Ñ6Ô6Ð6ð +¨3¨B¨3Ô/Ý" _°RÔ%8¸1Ñ%<ÀÑ$CÐ#DÑEÔEñFˆõ $ OÑ4Ô4ÐÝ Ð!2Ð4GÑHÔHˆÝ�F×(Ò(Ñ*Ô*Ð*Ñ+Ô+Ð+Ø�Š•C˜‘I”IÑÔÐå•d”j &Ô"6Ñ7Ô7Ð7Ð7Ð7rK   N)Ú__name__Ú
__module__Ú__qualname__rJ   r7   rZ   ra   rn   rp   rs   ry   r{   © rK   r   r9   r9   X   s›   € € € € € ð2ð 2ð 2ð'ð 'ð 'ð2
/ð 
/ð 
/ð:ð :ð :ð0ð 0ð 0ð<:ð :ð :ð(ð (ð (ð(ð (ð (ð 8ð 8ð 8ð 8ð 8rK   r9   )Ú__doc__r   rB   Úior   Útempfiler   Ú
contextlibr   Únumpyr<   Únumpy.testingr   r   Úpytestr   r5   Úscipy.io.matlab._streamsr	   r
   r   r   r   r   r   r"   r0   r7   r9   r   rK   r   ú<module>rˆ      se  ððð ð 
€	€	€	Ø €€€à Ð Ð Ð Ð Ð ð Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø *Ð *Ð *Ð *Ð *Ð *ð*ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð
 ð
ð 
ñ „ð
ð<ð <ð <ð'ð 'ð 'ð$8ð 8ð 8ð4P8ð P8ð P8ð P8ð P8ñ P8ô P8ð P8ð P8ð P8rK   