
    bi                        d dl Z d dl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mZ d dlZej                  dk(  xr  ej                         dk(  Zd Zd Zej&                  j)                  d e
d	d gd d gd d
gg      d df e
d	d gd d gd d
gg      d	df e
d	d gd d gd d
gg      ddf e
g dg dg dg      d dfg      d        Zej&                  j)                  dd      d        Zej&                  j/                  e d      ej&                  j1                  d
      ej&                  j)                  de j2                  e j4                  e j6                  e j8                  e j:                  e j<                  d d f      d                      Zy)    N)assert_array_almost_equalassert_)
csr_matrix
csc_matrix
lil_matrix	csr_array	csc_arraylinuxx86_64c                  t   d} t         j                  j                  d       t         j                  j                  | | f      }d||dkD  <   t        |      }t	        |       D ]U  }|||dz   d d f   }|j                  |      }t        ||j                                t        t        |      t        u        W y N
   r   gffffff?   )nprandomseedr   rangegetrowr   toarrayr   typer   )NXXcsciarr_rowcsc_rows         V/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/scipy/sparse/tests/test_csc.pytest_csc_getrowr      s    
AIINN1
		!Q AAa#gJa=D1X -Aa!eGQJ-++a.!'7??+<=W+,-    c                  t   d} t         j                  j                  d       t         j                  j                  | | f      }d||dkD  <   t        |      }t	        |       D ]U  }|d d ||dz   f   }|j                  |      }t        ||j                                t        t        |      t        u        W y r   )
r   r   r   r   r   getcolr   r   r   r   )r   r   r   r   arr_colcsc_cols         r   test_csc_getcolr$      s    
AIINN1
		!Q AAa#gJa=D1X -AqQwJ-++a.!'7??+<=W+,-r   z"matrix_input, axis, expected_shaper      )r   r%   )   r   both)r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r%   r&   r   r   )r      c                 4   | j                         j                  d   dz
  }|}|dz
  }|dk(  rG| ||d d f   j                         j                  }| ||d d f   j                         j                  }n|dk(  rG| d d ||f   j                         j                  }| d d ||f   j                         j                  }nK|dk(  rF| ||||f   j                         j                  }| ||||f   j                         j                  }|k(  sJ |k(  sJ y )Nr   r   r'   )r   shape)matrix_inputaxisexpected_shapeslice_1slice_2slice_3actual_shape_1actual_shape_2s           r   test_csc_empty_slicesr3   -   s5   & ""$**1-1GGkGqy%ggoq&89AACII%ggoq&89AACII	%a&89AACII%a&89AACII	%ggoww&FGOOQWW%ggoww&FGOOQWW^+++^+++r   ax)r   r   Nc                 L   d}t        |      }d|d<   d|d<   t        |      }|j                  |       }| ||d   z  }||d   z  }nNt        j                  |      |j
                  k(  sJ t        j                  |      t        j                  |      }}|||f   |d   k(  sJ y )N)順 r8   *   )r5   r5   gSt$?)r:   )r,   r   )r   r   argmaxr   count_nonzeronnzmax)r4   dimAidxiijjs         r   test_argmax_overflowrD   R   s     C3AAfIAfI1A
(((
C	z
 3q6\CF]
 $---biinBRV9&	!!!r   z(avoid variations due to OS, see gh-23826)reasonopc                 $    | j                  |      S N)minimumxys     r   <lambda>rM   r   s    QYYq\ r   c                 $    | j                  |      S rH   )maximumrJ   s     r   rM   rM   r   s    		RS r   c                    t        j                  t         j                        j                  dz   }t        j                  |dz
  g      }t        j                  dg      }||f}||f}t        t        j                  dg      |f|df      }|j                         } | ||       t        t        j                  dg      |fd|f      }|j                         }	 | |	|       y )Nr   r      )r*   )r   iinfouint32r>   arrayr	   copyr   )
rF   num_minor_axisminor_axis_indexmajor_axis_indexrow_colscol_rowsr   X_2ZZ_2s
             r   #test_compressed_rc_conversion_mixupr^   m   s     XXbii(,,q0Nxx!!3 45xx~ "23H "23H288RD>8,^R4HIA
&&(CsAJ288RD>8,R4HIA
&&(CsAJr   ) operatorsysplatformnumpyr   numpy.testingr   r   scipy.sparser   r   r   r   r	   pytestmachineLINUX_INTELr   r$   markparametrizer3   rD   skipiftimeoutneltgtaddsubmulr^    r   r   <module>rs      s    
   < Q Q  ||w&L-=X-=-=-?8-K-- =1a&AA   1a&AA   1a&AA  f $""$ % ",#",( 34" 5"4 O,VWQX[[(++ (hllHLL 9;T V W	W  Xr   