Ë
    âQ(h­  ã                   ó"  — 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    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/sparse/tests/test_minmax1d.pyr   r      s'   € Ü�!”R—Z‘ZÔ ¤L°¤OØˆØ�9‰9‹;Ðó    Ú	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\   € Ü�I‰I�a‹LˆÙ�a‹Lˆä�Q—U‘U“W˜aÔ Ü�Q—U‘U“W˜aÔ Ü�q�b—X‘X“Z Ô$Ü�q�b—X‘X“Z Õ#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)	Né2   )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÷   € Ü�I‰I�b‹MˆÙ�a‹Lˆàò 	ˆDÜÜ˜Ÿ™ 4˜Ó(Ó)¨1¯5©5°dÀT¨5Ó+Jôô Ü˜Ÿ™ 4˜Ó(Ó)¨1¯5©5°dÀT¨5Ó+Jõð		ð ò 	!ˆDÜ—‘œzÐ1DÔEñ !Ø—‘˜4�Ô ÷!ä—‘œzÐ1DÔEñ !Ø—‘˜4�Ô ÷!ð !ñ	!÷!ð !ú÷!ð !ús   Â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   € Ü�h‰h’yÓ!ˆÙ˜#“ˆÜœ2Ÿ6™6 %›=¬"¯&©&°«+Ô6Üœ2Ÿ6™6 %›=¬"¯&©&°«+Õ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;   sn  € Ü�X‰X’mÓ$ˆÜ�X‰X’nÓ%ˆÜ�X‰XÒ&Ó'ˆÜ�X‰X’lÓ#ˆÜ�X‰X’lÓ#ˆà�b˜"˜b "Ð%ò 	CˆAÙ˜A“,ˆCä˜Ÿ™›¤r§y¡y°£|Ô4Ü˜Ÿ™›¤r§y¡y°£|Ô4ä˜Ÿ™¨˜Ó+¬R¯Y©Y°q¸qÔ-AÔBÜ˜Ÿ™¨˜Ó+¬R¯Y©Y°q¸qÔ-AÕBð	Cô �X‰X�d‹^ˆàò 	&ˆDÙ˜B“-ˆCÜ—‘œzÐ1EÔFñ &Ø—
‘
 �
Ô%÷&ä—‘œzÐ1EÔFñ &Ø—
‘
 �
Ô%÷&ð &ñ		&÷&ð &ú÷&ð &ús   Æ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   sL  € Ü�h‰hš¢~²|ÐDÓEˆÙ˜#“ˆð �Y‰YœŸ™ÐØ�Y‰YœŸ™ÐØ�\‰\œ2Ÿ9™9Ð%Ø�\‰\œ2Ÿ9™9Ð%ð	%
ò 		9Ñ ˆX�xð %;ò 9Ñ ��LÜœW¡X°2Ô%6Ó7¹À#ÈBÔ9OÔPÜ™X¨2Ô.×4Ñ4°lÔCÙ RÔ(×/Ñ/°5Ó8Ð8Ð8ñ9ð		9ð Ÿ™ u§|¡|Ð4ò 	AˆHØò A�Ü!¡(°Ô"3´R·Z±ZÕ@Ð@Ð@ñAð	Aô ÜÜÜñ	
ˆ
ð *�˜EŸL™LÑ)¨#Ó.ˆð �Z‰ZœŸ™Ð Ø�Z‰ZœŸ™Ð Ø�]‰]œBŸI™IÐ&Ø�]‰]œBŸI™IÐ&ð	
ò 		4‰HˆC�ð %?ò 4Ñ ��LÜœW¡S¨b¤\Ó2±C¸À"ÈtÔ4TÔUÜ™S bœ\×/Ñ/°Ô>Ù ”|×*Ñ*¨eÓ3Ð3Ð3ñ4ð		4ð  Ÿ™¨¯©Ð6ò 	AˆHØò A�Ü!¡(°Ô"3´R·Z±ZÕ@Ð@Ð@ñAñ	Ar   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Ý .òð   ¨I°yÐAÐ Ø$-¨yÐ#9Ð  ð ‡�×Ñ˜Ð&FÓG÷9&ð 9&ó Hð9&ðx ‡�×Ñ˜Ð&8Ó9÷*Að *Aó :ñ*Ar   