
    tKg                     "   d Z ddlZddlZddlmZmZ ddlmZm	Z	m
Z
mZ ddlmZmZmZmZ ddlmZ d Zeee
e	gZee	gZej*                  j-                  de       G d	 d
             Zej*                  j-                  de       G d d             Zy)z3Test of min-max 1D features of sparse array classes    N)assert_equalassert_array_equal)	coo_array	csr_array	csc_array	bsr_array)
coo_matrix
csr_matrix
csc_matrix
bsr_matrix)isscalarlikec                 p    t        | t        j                        st        |       r| S | j	                         S )N)
isinstancenpndarrayr   toarray)as    d/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/sparse/tests/test_minmax1d.pyr   r      s'    !RZZ LO99;    	spcreatorc                   $    e Zd Zd Zd Zd Zd Zy)Test_MinMaxMixin1Dc                    t        j                  d      } ||      }t        |j                         d       t        |j	                         d       t        | j                         d       t        | j	                         d       y )N   r      )r   aranger   minmax)selfr   DXs       r   test_minmaxzTest_MinMaxMixin1D.test_minmax   s\    IIaLaLQUUWa QUUWa qbXXZ$qbXXZ#r   c                 :   t        j                  d      } ||      }dD ]n  }t        t        |j	                  |            |j	                  |d             t        t        |j                  |            |j                  |d             p dD ]n  }t        j                  t        d      5  |j                  |       d d d        t        j                  t        d      5  |j	                  |       d d d        p y # 1 sw Y   BxY w# 1 sw Y   xY w)	N2   )r   axisTr(   keepdims)   zaxis out of rangematch)	r   r   r   r   r   r   pytestraises
ValueError)r    r   r!   r"   r(   s        r   test_minmax_axisz#Test_MinMaxMixin1D.test_minmax_axis#   s    IIbMaLD4()155dT5+J 4()155dT5+J	  Dz1DE4  Fz1DE4  FE EEEEs   1D'DD	D	c                 
   t        j                  g d      } ||      }t        t        j                  |      t        j                  |             t        t        j                  |      t        j                  |             y )N)r   r,      )r   arrayr   r   r   )r    r   datdatsps       r   test_numpy_minmaxz$Test_MinMaxMixin1D.test_numpy_minmax4   sM    hhy!#266%="&&+6266%="&&+6r   c                    t        j                  g d      }t        j                  g d      }t        j                  g d      }t        j                  g d      }t        j                  g d      }|||||fD ]  } ||      }t        |j                         t        j                  |             t        |j	                         t        j                  |             t        |j                  d      t        j                  |d             t        |j	                  d      t        j                  |d              t        j
                  d      }	d	D ]v  }
 ||	      }t        j                  t        d
      5  |j	                  |
       d d d        t        j                  t        d
      5  |j                  |
       d d d        x y # 1 sw Y   BxY w# 1 sw Y   xY w)N)r&   r   r4      r   r   r&   r+   )r&   r+   r   )r,   r4   r:   r   )r,   r4   r   r   r   r'   )r   )Nr   zto an empty matrixr-   )	r   r5   r   argmaxargminemptyr/   r0   r1   )r    r   D1D2D3D4D5r!   matD6r(   s              r   test_argmaxzTest_MinMaxMixin1D.test_argmax;   sP   XXm$XXn%XX&'XXl#XXl#b"b"%AA,Cryy|4ryy|4+RYYqq-AB+RYYqq-AB & XXd^DB-Cz1EF


% Gz1EF


% GF	 FFFFs   G7G!G	!G*	N)__name__
__module____qualname__r#   r2   r8   rG    r   r   r   r      s    $!"7&r   r   c                       e Zd Zd Zy)Test_ShapeMinMax2DWithAxisc           
      *   t        j                  g dg dg dg      } ||      }|j                  t         j                  f|j                  t         j                  f|j                  t         j                  f|j
                  t         j
                  ffD ]h  \  }}dD ]^  \  }}t        t         ||             |||             t         ||      j                  |        ||      j                  dk(  r^J  j |j                  |j                  fD ],  }dD ]%  }t         ||      t         j                        r%J  . t        t        t         t"        d} ||j                     |      }	|	j                  t         j                  f|	j                  t         j                  f|	j                  t         j                  f|	j
                  t         j
                  ffD ]i  \  }
}d	D ]_  \  }}t        t         |
|             |||d
             t         |
|      j                  |        |
|      j                  dk(  r_J  k |	j                  |	j                  fD ],  }dD ]%  }t         ||      t         j                        r%J  . y )N)r&   r   r   r:   r;   )r   r   r,   r4   ))r   )r   )r,   )r:   r'   coo)r   r,   )rO   csrcscbsr))r   )r,   r   )r,   )r:   r,   Tr)   )r   r5   r   r   nanminnanmaxr   r   shapeformatr>   r=   r   r   r	   r
   r   r   )r    r   r6   r7   spminmaxnpminmaxaxresult_shape
spmat_formdatspmspmnpms               r   r#   z&Test_ShapeMinMax2DWithAxis.test_minmaxW   s   hh~|DE# YYYY\\299%\\299%	%
 Xx %; LWX2%67#B9OPX2.44lCR(//5888 %;%
 u||4H!("3RZZ@@@  5 	

 *ELL)#. ZZ ZZ ]]BII&]]BII&	
HC %? LWSb\2C"t4TUSb\//>|**e333 %?
  6H!("3RZZ@@@  7r   N)rH   rI   rJ   r#   rK   r   r   rM   rM   U   s    )Ar   rM   )__doc__r/   numpyr   numpy.testingr   r   scipy.sparser   r   r   r   r	   r
   r   r   scipy.sparse._sputilsr   r   formats_for_minmax formats_for_minmax_supporting_1dmarkparametrizer   rM   rK   r   r   <module>rh      s    9   : C C G G .  IyA $-y#9   &FG9& 9& H9&x &89*A *A :*Ar   