o
    
i	                  	   @   s   d dl mZ d dlmZmZ d dlmZmZ d dlT d dl	m
Z
 dd Z	dd	d
Zeeddddddeddddddedddedddeddddd Zeeddddddeddddddedddedddeddddd ZdS )    )division)givenassume)sqrtfloor)*)gemmc                 C   st   t | }|}|}tt | ||  }tt|| }tt|| }tj| d ||  | jd} | ||f||fS )Ndtype)lenr   intr   npascontiguousarrayr
   reshape)datamnorig_lenorig_morig_nratio r   H/home/ubuntu/.local/lib/python3.10/site-packages/blis/tests/test_gemm.py_stretch_matrix   s   r   Fc           
      C   s   t | ||\} }}t||k s|dk rdS ttt|| }tj| d ||  |d}|||f}|jd }tj	| jd |jd f|d}	|rStj| j
|d} | ||	fS )N   )NNNr	   r   )shaper
   )r   r   r   r   r   r   flattenr   r   zerosT)
ABa_rowsa_colsout_colsr
   trans_atrans_bb_colsCr   r   r   _reshape_for_gemm   s   

r(   
   d   g      Yg      Y@float64)min_lenmax_lenmin_valmax_valr
      i  )	min_value	max_valuec                 C   s   t | ||||d\} }}t| d u t|d u t|d u t| jdk t|jdk t|jdk t| ||d | |}t||ddd d S )Nr+   r   outg-C6?atolrtolr(   r   sizer   dotassert_allcloser   r    r!   r"   r#   r'   numpy_resultr   r   r   test_memoryview_double_notrans&   s   
r>   float32c                 C   s   t | ||||dd\} }}t| d u t|d u t|d u t| jdk t|jdk t|jdk t| ||d | |}t||ddd d S )Nr?   r	   r   r3   gMbP?r5   r8   r<   r   r   r   test_memoryview_float_notrans:   s   
r@   N)FF)
__future__r   
hypothesisr   r   mathr   r   blis.tests.commonblis.pyr   r   r(   ndarraysintegersr>   r@   r   r   r   r   <module>   s0   







