Ë
    ›¾j
  ã                   óÚ   — d dl mZ d dlZej                  j                  d «       d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ dd„Zdd„Zdd	„Z	 dd
„Z	 	 	 	 	 	 	 dd„Zdd„Zdd„Zd„ Zd„ Zy)é    )Úprint_functionN)Úassert_allclose)Úassume)ÚtuplesÚintegersÚfloats)Úarraysc                 ó   — t        | |¬«      S )N)Ú	min_valueÚ	max_value)r   ©ÚloÚhis     ú[/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/blis/tests/common.pyÚlengthsr      s   € Ü˜b¨BÔ/Ð/ó    c                 óF   — t        t        | |¬«      t        ||¬«      «      S )Nr   )r   r   ©Úmin_rowsÚmax_rowsÚmin_colsÚmax_colss       r   Úshapesr      s   € Ü”'˜X¨(Ô3´WÀÈXÔ5VÓWÐWr   c           	      óH   — |dk(  rdnd}t        || t        |||¬«      ¬«      S )NÚfloat64é@   é    )r   r   Úwidth)ÚshapeÚelements)r	   r   )r   r   r   Údtyper   s        r   Úndarrays_of_shaper"      s-   € Ø˜9Ò$‰B¨"€EÜØ�U¤V°bÀBÈeÔ%Tôð r   c                 óJ   ‡‡‡— t        | |¬«      j                  ˆˆˆfd„«      S )Nr   c                 ó"   •— t        | ‰‰‰¬«      S ©N)r   r   r!   ©r"   )Únr!   Úmax_valÚmin_vals    €€€r   ú<lambda>zndarrays.<locals>.<lambda>!   s   ø€ Ô# A¨'°gÀUÔK€ r   )r   Úflatmap©Úmin_lenÚmax_lenr)   r(   r!   s     ```r   Úndarraysr/      s"   ú€ ô �g 'Ô*×2Ñ2ÝKóð r   c                 óN   ‡‡‡— t        | |||¬«      j                  ˆˆˆfd„«      S )Nr   c                 ó"   •— t        | ‰‰‰¬«      S r%   r&   )Úmnr!   r   r   s    €€€r   r*   zmatrices.<locals>.<lambda>0   s   ø€ Ô*¨2°)À	ÐQVÔW€ r   )r   r+   )r   r   r   r   r   r   r!   s       ```r   Úmatricesr3   %   s'   ú€ ô Ø H°xÈ(ôç�gÕWÓXðYr   c                 ó"   — t        | |d||¬«      S )Nr   r,   ©r/   )r-   r.   r(   r!   s       r   Úpositive_ndarraysr6   3   s   € ÜØ °!¸WÈEôð r   c                 ó"   — t        | ||d|¬«      S )Ng»½×Ùß|Û½r,   r5   )r-   r.   r)   r!   s       r   Únegative_ndarraysr8   9   s   € ÜØ °'À6ÐQVôð r   c                 ó
  — | ddd …f   }t        j                  | dd …df   d¬«      }| dd …dd …f   }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  d   |j                  d   k(  sJ ‚|j                  d   |j                  d   k(  sJ ‚t	        t        j
                  |j                  «       «       «       t	        t        j
                  |j                  «       «       «       t	        t        j
                  |j                  «       «       «       t	        t        d„ |j                  «       D «       «       «       t	        t        d„ |D «       «       «       t	        t        d„ |D «       «       «       |||fS )Nr   é   r   )r!   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­w©N©ÚnpÚisinf©Ú.0Úvals     r   ú	<genexpr>zparse_layer.<locals>.<genexpr>N   s   è ø€ Ò8 S”2—8‘8˜C—=Ñ8ùó   ‚!c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr<   r=   r@   s     r   rC   zparse_layer.<locals>.<genexpr>O   ó   è ø€ Ò. S”2—8‘8˜C—=Ñ.ùrD   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wr<   r=   r@   s     r   rC   zparse_layer.<locals>.<genexpr>P   rF   rD   )	r>   ÚascontiguousarrayÚndimr   r   ÚisnanÚsumÚanyÚflatten)Ú
layer_dataÚxÚbÚWs       r   Úparse_layerrR   ?   s@  € à�1�a‘b�5Ñ€Aô 	×Ñ˜Z¨©¨A¨Ñ.°iÔ@€Aà�1‘2�q‘r�6Ñ€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Ø�7‰7�1‰:˜Ÿ™ ™Ò#Ð#Ð#Ø�7‰7�1‰:˜Ÿ™ ™Ò#Ð#Ð#Ü
Œr�x‰x˜Ÿ™›Ó Ð Ô!Ü
Œr�x‰x˜Ÿ™›Ó Ð Ô!Ü
Œr�x‰x˜Ÿ™›Ó Ð Ô!Ü
ŒsÑ8¨A¯I©I«KÔ8Ó8Ð8Ô9Ü
ŒsÑ.¨AÔ.Ó.Ð.Ô/Ü
ŒsÑ.¨AÔ.Ó.Ð.Ô/Øˆa�ˆ7€Nr   c                 ó*   — | dd d …f   | d d …d d …f   fS )Nr   © )rN   s    r   Ú	split_rowrU   T   s   € Ø�qš!�tÑ˜jªªA¨Ñ.Ð/Ð/r   )r:   é
   )r:   éd   r:   rW   )g     @�Àg     @�@r   )r   rV   ç    ÐcÁç    €„.Ar   )r:   rV   r:   rV   rX   rY   r   )r   rV   g     jø@r   )r   rV   g     jøÀr   )Ú
__future__r   Únumpyr>   ÚrandomÚseedÚnumpy.testingr   Ú
hypothesisr   Úhypothesis.strategiesr   r   r   Úhypothesis.extra.numpyr	   r   r   r"   r/   r3   r6   r8   rR   rU   rT   r   r   ú<module>rb      sw   ðå %ã à ‡	�	‡�ˆqÔ Ý )å ß :Ñ :Ý )ó0óXóð JSóð ØØØØØØ
óYóóòó*0r   