
    i	              
       V   d dl mZ d dlmZmZ d dlmZmZ d dl d dl	m
Z
 d Z	 ddZ e edd	d
dd       edd	d
dd       edd       edd       edd            d        Z e edd	d
dd       edd	d
dd       edd       edd       edd            d        Zy)    )division)givenassume)sqrtfloor)*)gemmc                 *   t        |       }|}|}t        t        |       ||z  z        }t        t        ||z              }t        t        ||z              }t        j                  | d ||z   | j                        } | j                  ||f      ||fS )Ndtype)lenr   intr   npascontiguousarrayr   reshape)datamnorig_lenorig_morig_nratios          e/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/blis/tests/test_gemm.py_stretch_matrixr      s    4yHFFTa!e$%EE!e)AE!e)AWq1uTZZ@D<<AA%%    c                    t        | ||      \  } }}t        |      |k  s|dk  ryt        t        t        |      |z              }t        j                  |j                         d ||z   |      }|j                  ||f      }|j                  d   }t        j                  | j                  d   |j                  d   f|      }	|r!t        j                  | j                  |      } | ||	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Cs
             r   _reshape_for_gemmr+      s     (66:Avv
1v&1*!s1v'(F
QYY[):6F?;5IA			66"#AwwqzH

AGGAJ/u=A  E 2a7Nr   
   d   g      Yg      Y@float64)min_lenmax_lenmin_valmax_valr      i  )	min_value	max_valuec                 f   t        | ||||d      \  } }}t        | d u       t        |d u       t        |d u       t        | j                  dk\         t        |j                  dk\         t        |j                  dk\         t        | ||       | j	                  |      }t        ||dd       y )Nr.   r   outg-C6?atolrtolr+   r   sizer	   dotassert_allcloser"   r#   r$   r%   r&   r*   numpy_results          r   test_memoryview_double_notransrB   &   s      1ffh	JGAq!
1D=
1D=
1D=
166Q;
166Q;
166Q;A1558LL!$T:r   float32c                 h   t        | ||||d      \  } }}t        | d u       t        |d u       t        |d u       t        | j                  dk\         t        |j                  dk\         t        |j                  dk\         t        | ||       | j	                  |      }t        ||dd       y )NrC   r   r   r7   gMbP?r9   r<   r@   s          r   test_memoryview_float_notransrE   :   s      1ffhiPGAq!
1D=
1D=
1D=
166Q;
166Q;
166Q;A1558LL!$T:r   N)FF)
__future__r   
hypothesisr   r   mathr   r   blis.tests.commonblis.pyr	   r   r+   ndarraysintegersrB   rE    r   r   <module>rN      s     $   & CH  Rfe9URfe9UqD)qD)qD)
;
; Rfe9URfe9UqD)qD)qD)
;
;r   