
    i
                         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     b/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/blis/tests/common.pylengthsr      s    bB//    c                 F    t        t        | |      t        ||            S )Nr   )r   r   min_rowsmax_rowsmin_colsmax_colss       r   shapesr      s    'X(3WX5V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UVbBe%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'gU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'     Hx(gWXYr   c                 "    t        | |d||      S )Nr   r,   r/   )r-   r.   r(   r!   s       r   positive_ndarraysr6   3   s    !WE r   c                 "    t        | ||d|      S )Ng|۽r,   r5   )r-   r.   r)   r!   s       r   negative_ndarraysr8   9   s    '6QV 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     8S288C=8   !c              3   F   K   | ]  }t        j                  |        y wr<   r=   r@   s     r   rC   zparse_layer.<locals>.<genexpr>O        .S288C=.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@   1ab5A 	ZA.i@A12qr6A66Q;;66Q;;771:###771:###
rxx  !
rxx  !
rxx  !
s8AIIK8889
s.A.../
s.A.../a7Nr   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     jr   )
__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   