
    h	                        S SK Jr  S SKJrJr  S SKJrJr  S SK7  S SK	J
r
  S r SS jr\" \" SS	S
SSS9\" SS	S
SSS9\" SSS9\" SSS9\" SSS95      S 5       r\" \" SS	S
SSS9\" SS	S
SSS9\" SSS9\" SSS9\" SSS95      S 5       rg)    )division)givenassume)sqrtfloor)*)gemmc                    [        U 5      nUnUn[        [        U 5      X-  -  5      n[        [        X-  5      5      n[        [        X&-  5      5      n[        R                  U S X-   U R                  S9n U R                  X45      X4$ )Ndtype)lenr   intr   npascontiguousarrayr   reshape)datamnorig_lenorig_morig_nratios          N/home/james-whalen/.local/lib/python3.13/site-packages/blis/tests/test_gemm.py_stretch_matrixr      s    4yHFFTae$%EE!)AE!)AWquTZZ@D<<%%    c                    [        XU5      u  pn[        U5      U:  d  US:  a  g[        [        [        U5      U-  5      5      n[        R                  UR                  5       S X8-   US9nUR                  X845      nUR                  S   n[        R                  U R                  S   UR                  S   4US9n	U(       a  [        R                  U R                  US9n XU	4$ )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     (6:Av
1v&1*!s1v'(F
QYY[):6?;5IA			6"#AwwqzH

AGGAJ/u=A  E 27Nr   
   d   g      Yg      Y@float64)min_lenmax_lenmin_valmax_valr      i  )	min_value	max_valuec                 P   [        XX#US5      u  pn[        U S L5        [        US L5        [        US L5        [        U R                  S:  5        [        UR                  S:  5        [        UR                  S:  5        [        XUS9  U R	                  U5      n[        XeSSS9  g )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      fh	JGA!
1D=
1D=
1D=
166Q;
166Q;
166Q;1558LL$T:r   float32c           	      L   [        XX#USS9u  pn[        U S L5        [        US L5        [        US L5        [        U R                  S:  5        [        UR                  S:  5        [        UR                  S:  5        [        XUS9  U R	                  U5      n[        XeSSS9  g )NrC   r   r   r7   gMbP?r9   r<   r@   s          r   test_memoryview_float_notransrE   :   s      fhiPGA!
1D=
1D=
1D=
166Q;
166Q;
166Q;1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   