§
    fŠtj/   ã                   ó”  — d dl Zd dlmZmZmZ d dlmZmZm	Z	m
Z
mZ d dlmZ d dlZd„ Zd„ Zd„ Zd„ Zej                             d	 eg d
¢g d¢g d¢g¦  «        d df eg d
¢g d¢g d¢g¦  «        ddf eg d
¢g d¢g d¢g¦  «        ddf eg d¢g d¢g d¢g¦  «        d dfg¦  «        d„ ¦   «         Zd„ Zej                             d¦  «        ej                             d¦  «        ej                             dee	ee
g¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zej                             dee	ee
g¦  «        d„ ¦   «         Zd„ ZdS )é    N)Úassert_array_almost_equalÚassert_Úassert_array_equal)Ú
csr_matrixÚ
csc_matrixÚ	csr_arrayÚ	csc_arrayÚhstack)Úsparsec                 óÄ   — || |f         }|| |f         }t          ||                     ¦   «         d         ¦  «         t          t          |¦  «        t          u ¦  «         d S )Nr   )r   Útoarrayr   Útyper   )ÚiÚslÚXÚXcsrÚnp_sliceÚ	csr_slices         úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_csr.pyÚ_check_csr_rowslicer      s\   € Ø��B�Œx€HØ�Q˜�U”€IÝ˜h¨	×(9Ò(9Ñ(;Ô(;¸AÔ(>Ñ?Ô?Ð?Ý�D�‰OŒO�zÐ)Ñ*Ô*Ð*Ð*Ð*ó    c                  ó�  — d} t           j                             d¦  «         t           j                             | | f¦  «        }d||dk    <   t          |¦  «        }t	          d d d ¦  «        t	          d d d¦  «        t	          ddd¦  «        t	          ddd¦  «        g}t          | ¦  «        D ]}|D ]}t          ||||¦  «         ŒŒd S )Né
   r   çffffffæ?éÿÿÿÿé   éþÿÿÿé   )ÚnpÚrandomÚseedr   ÚsliceÚranger   )ÚNr   r   Úslicesr   r   s         r   Útest_csr_rowslicer&      sÙ   € Ø
€AÝ„I‡N‚N�1ÑÔÐÝ
Œ	×Ò˜!˜Q˜Ñ Ô €AØ€A€aˆ#‚g�JÝ�a‰=Œ=€Då�D˜$ Ñ%Ô%Ý�D˜$ Ñ#Ô#Ý�A�r˜1‰oŒoÝ�B˜˜2ÑÔð €Fõ
 �1‰XŒXð 0ð 0ˆØð 	0ð 	0ˆBÝ  2 q¨$Ñ/Ô/Ð/Ð/ð	0ð0ð 0r   c                  ó´  — d} t           j                             d¦  «         t           j                             | | f¦  «        }d||dk    <   t          |¦  «        }t	          | ¦  «        D ]m}|||dz   …d d …f         }|                     |¦  «        }t          ||                     ¦   «         ¦  «         t          t          |¦  «        t          u ¦  «         Œnd S ©Nr   r   r   r   )
r   r    r!   r   r#   Úgetrowr   r   r   r   )r$   r   r   r   Úarr_rowÚcsr_rows         r   Útest_csr_getrowr,       sÉ   € Ø
€AÝ„I‡N‚N�1ÑÔÐÝ
Œ	×Ò˜!˜Q˜Ñ Ô €AØ€A€aˆ#‚g�JÝ�a‰=Œ=€Då�1‰XŒXð -ð -ˆØ�A�a˜!‘e�G˜Q˜Q˜Q�J”-ˆØ—+’+˜a‘.”.ˆå! '¨7¯?ª?Ñ+<Ô+<Ñ=Ô=Ð=Ý•�W‘”¥Ð+Ñ,Ô,Ð,Ð,ð-ð -r   c                  ó´  — d} t           j                             d¦  «         t           j                             | | f¦  «        }d||dk    <   t          |¦  «        }t	          | ¦  «        D ]m}|d d …||dz   …f         }|                     |¦  «        }t          ||                     ¦   «         ¦  «         t          t          |¦  «        t          u ¦  «         Œnd S r(   )
r   r    r!   r   r#   Úgetcolr   r   r   r   )r$   r   r   r   Úarr_colÚcsr_cols         r   Útest_csr_getcolr1   /   sÉ   € Ø
€AÝ„I‡N‚N�1ÑÔÐÝ
Œ	×Ò˜!˜Q˜Ñ Ô €AØ€A€aˆ#‚g�JÝ�a‰=Œ=€Då�1‰XŒXð -ð -ˆØ�A�A�A�q˜˜Q™�w�J”-ˆØ—+’+˜a‘.”.ˆå! '¨7¯?ª?Ñ+<Ô+<Ñ=Ô=Ð=Ý•�W‘”¥Ð+Ñ,Ô,Ð,Ð,ð-ð -r   z"matrix_input, axis, expected_shape)r   r   r   r   )r   r   r   r   )r   r   é   r   )r   é   r   )r2   r   Úboth)r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r2   r   )r   é   c                 ó\  — |                       ¦   «         j        d         dz
  }|}|dz
  }|dk    rK| ||…d d …f                               ¦   «         j        }| ||…d d …f                               ¦   «         j        }n¡|dk    rK| d d …||…f                               ¦   «         j        }| d d …||…f                               ¦   «         j        }nP|dk    rJ| ||…||…f                               ¦   «         j        }| ||…||…f                               ¦   «         j        }||k    sJ ‚||k    sJ ‚d S )Nr   r   r4   )r   Úshape)Úmatrix_inputÚaxisÚexpected_shapeÚslice_1Úslice_2Úslice_3Úactual_shape_1Úactual_shape_2s           r   Útest_csr_empty_slicesr@   =   s[  € ð& ×"Ò"Ñ$Ô$Ô*¨1Ô-°Ñ1€GØ€GØ˜‰k€Gàˆq‚y€yØ% g¨g o°q°q°qÐ&8Ô9×AÒAÑCÔCÔIˆØ% g¨g o°q°q°qÐ&8Ô9×AÒAÑCÔCÔIˆˆØ	�ŠˆØ% a a a¨°¨Ð&8Ô9×AÒAÑCÔCÔIˆØ% a a a¨°¨Ð&8Ô9×AÒAÑCÔCÔIˆˆØ	�ŠˆØ% g¨g o°w¸w°Ð&FÔG×OÒOÑQÔQÔWˆØ% g¨g o°w¸w°Ð&FÔG×OÒOÑQÔQÔWˆà˜^Ò+Ð+Ð+Ð+Ø˜^Ò+Ð+Ð+Ð+Ð+Ð+r   c                  ó`  — t          g d¢g d¢g d¢g¦  «        } g d¢}t          j        |¦  «        }g d¢g d¢g d¢g}t          j        |¦  «        }g d¢g d¢f}t          j        |d         ¦  «        t          j        |d         ¦  «        f}| |                              ¦   «         }| |                              ¦   «         }| |         }	| |         }
| |         }| |         }||k                         ¦   «         sJ ‚|	|
k                         ¦   «         sJ ‚||k                         ¦   «         sJ ‚d S )N©r   r   r   )r2   r3   r5   )é   é   é   )FTFr   r   )r   r   Úarrayr   Úall)ÚdataÚlist_indices1Úarray_indices1Úlist_indices2Úarray_indices2Úlist_indices3Úarray_indices3Úslice_list1Úslice_array1Úslice_list2Úslice_array2Úslice_list3Úslice_array3s                r   Útest_csr_bool_indexingrU   b   s[  € Ý�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8€DØ(Ð(Ð(€MÝ”X˜mÑ,Ô,€NØ)Ð)Ð)Ð+?Ð+?Ð+?ÐAUÐAUÐAUÐV€MÝ”X˜mÑ,Ô,€NØ)Ð)Ð)Ð+?Ð+?Ð+?Ð@€MÝ”h˜}¨QÔ/Ñ0Ô0µ"´(¸=ÈÔ;KÑ2LÔ2LÐM€NØ�}Ô%×-Ò-Ñ/Ô/€KØ˜Ô'×/Ò/Ñ1Ô1€LØ�}Ô%€KØ˜Ô'€LØ�}Ô%€KØ˜Ô'€LØ˜<Ò'×,Ò,Ñ.Ô.Ð.Ð.Ð.Ø˜<Ò'×,Ò,Ñ.Ô.Ð.Ð.Ð.Ø˜<Ò'×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r   z!Can't create large array for testr   Úclsc                 óê   — t          j        d¦  «        }|                     d¦  «        } | d¦  «        }|||f         j        dk    sJ ‚|||                     dd¦  «        f         j        dk    sJ ‚d S )Né † )rX   r   )rX   rX   r   r   r   )r   ÚarangeÚreshapeÚnnz)rV   ÚJÚIÚSs       r   Ú6test_fancy_indexing_broadcasts_without_making_dense_2dr_   u   s�   € õ
 	Œ	�'ÑÔ€AØ	�	Š	�,ÑÔ€AØˆÐÑÔ€AàˆQ�ˆTŒ7Œ;˜!ÒÐÐÐØˆQ�—	’	˜!˜RÑ Ô Ð Ô!Ô%¨Ò*Ð*Ð*Ð*Ð*Ð*r   c                  óT  — t          j        t           j        ¦  «        j        } dg}dg}| dz
  }d}|dz
  g}|dz
  g}t	          |||ff¦  «        }t	          |||ff¦  «        }t          |dz
  |dz
  ¦  «        | k     sJ ‚|j        j        |j        j        cxk    rt           j        k    sn J ‚|j        j        |j        j        cxk    rt           j        k    sn J ‚t          ||gd¬¦  «        }	|	j                             ¦   «         ||z   dz
  k    sJ ‚||z   dz
  | k    sJ ‚|	j        j        |	j        j        cxk    rt           j	        k    sn J ‚t	          |j
        ¦  «        }
t	          |j
        ¦  «        }t          |
|gd¬¦  «        }|j
        |	j
        k    sJ ‚|j        j        t           j	        k    sJ ‚| |z
  dz
  g}t	          |||ff¦  «        }t          ||gd¬¦  «        }|j        j        t           j        k    sJ ‚|j                             ¦   «         | dz
  k    sJ ‚dS )z¯
    Tests if hstack properly promotes to indices and indptr arrays to np.int64
    when using np.int32 during concatenation would result in either array
    overflowing.
    g      ð?r   r   r2   Úcsr)ÚformatN)r   ÚiinfoÚint32Úmaxr   ÚindicesÚdtypeÚindptrr
   Úint64r7   )Ú	max_int32rH   ÚrowÚmax_indices_1Úmax_indices_2Úcol_1Úcol_2ÚX_1ÚX_2ÚX_hsÚ	X_1_emptyÚ	X_2_emptyÚ
X_hs_emptyÚcol_3ÚX_3ÚX_hs_32s                   r   Útest_csr_hstack_int64ry   ‚   sy  € õ ”�œÑ"Ô"Ô&€Ið ˆ5€DØˆ#€Cà ‘M€MØ€Mð ˜QÑÐ€EØ˜QÑÐ€Eå
�d˜S %˜LÐ)Ñ
*Ô
*€CÝ
�d˜S %˜LÐ)Ñ
*Ô
*€Cåˆ}˜qÑ  -°!Ñ"3Ñ4Ô4°yÒ@Ð@Ð@Ð@ØŒ;Ô ¤
Ô 0Ð<Ð<Ò<Ð<µB´HÒ<Ð<Ð<Ð<Ð<Ð<ØŒ;Ô ¤
Ô 0Ð<Ð<Ò<Ð<µB´HÒ<Ð<Ð<Ð<Ð<Ð<õ �3˜�* UÐ+Ñ+Ô+€DàŒ<×ÒÑÔ °Ñ!>ÀÑ!BÒBÐBÐBÐBØ˜=Ñ(¨1Ñ,¨yÒ8Ð8Ð8Ð8ØŒ<Ô ¤Ô!2Ð>Ð>Ò>Ð>µb´hÒ>Ð>Ð>Ð>Ð>Ð>õ ˜3œ9Ñ%Ô%€IÝ˜3œ9Ñ%Ô%€IÝ˜ IÐ.°uÐ=Ñ=Ô=€JàÔ˜tœzÒ)Ð)Ð)Ð)ØÔÔ#¥r¤xÒ/Ð/Ð/Ð/ð ˜Ñ&¨Ñ*Ð+€EÝ
�d˜S %˜LÐ)Ñ
*Ô
*€CÝ�c˜3�Z¨Ð.Ñ.Ô.€GØŒ?Ô ¥B¤HÒ,Ð,Ð,Ð,ØŒ?×ÒÑ Ô  I°¡MÒ1Ð1Ð1Ð1Ð1Ð1r   c                 óú  — t           j                             d¦  «        } | t          j        dd|d¬¦  «        ¦  «        }|                     ¦   «         }|                     ¦   «         }|j                             t           j        ¦  «        |_        |j                             t           j        ¦  «        |_        |||fD ]º}t           j	         
                    |ddgd d …f                              ¦   «         |ddgd d …f                              ¦   «         ¦  «         t           j	         
                    |d d …ddgf                              ¦   «         |d d …ddgf                              ¦   «         ¦  «         Œ»d S )Nr   é2   gš™™™™™¹?)Úrandom_stateÚdensityr   r   )r   r    Údefault_rngr   Úcopyrh   Úastyperi   rf   Útestingr   r   )rV   ÚrngÚbase_mtxÚindptr_64bitÚindices_64bitÚmtxs         r   Ú#test_mixed_index_dtype_int_indexingr‡   ¹   sc  € õ Œ)×
Ò
 Ñ
"Ô
"€CØˆs•6”=  R°cÀ3ÐGÑGÔGÑHÔH€HØ—=’=‘?”?€LØ—M’M‘O”O€MØ"œ/×0Ò0µ´Ñ:Ô:€LÔØ$Ô,×3Ò3µB´HÑ=Ô=€MÔà˜,¨Ð6ð 
ð 
ˆÝ
Œ
×%Ò%Ø��1��q�q�q�ŒM×!Ò!Ñ#Ô#Ø�a˜�V˜Q˜Q˜Q�YÔ×'Ò'Ñ)Ô)ñ	
ô 	
ð 	
õ 	Œ
×%Ò%Ø����A�q�6�	ŒN×"Ò"Ñ$Ô$Ø�Q�Q�Q˜˜A˜�YÔ×'Ò'Ñ)Ô)ñ	
ô 	
ð 	
ð 	
ð
ð 
r   c                  ó  — t          j        g d¢¦  «        } t          j        dg¦  «        }t          j        d¦  «        }t          | ¦  «                             d¦  «        }t          |¦  «                             d¦  «        }t          |¦  «                             d¦  «        }t          |¦  «                             d¦  «        }t          |¦  «                             d¦  «        }t          |                     ¦   «         t          j        | d¦  «        ¦  «         t          |                     ¦   «         t          j        |d¦  «        ¦  «         t          |                     ¦   «         t          j        |d¦  «        ¦  «         t          |                     ¦   «         t          j        |d¦  «        ¦  «         t          |                     ¦   «         t          j        |d¦  «        ¦  «         t          j	        t          d	¬
¦  «        5  t          g d¢g d¢g¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬
¦  «        5  t          g d¢g¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬
¦  «        5  t          g d¢¦  «                             d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r   r   r2   )r   )r   r2   )r3   )r   r3   )r   )r3   r   zcannot be broadcast)Úmatch)r   r   r   )r2   r   r   )r   r   )r7   rB   )r2   r   )r   rF   Úzerosr   Ú_broadcast_tor   r   Úbroadcast_toÚpytestÚraisesÚ
ValueErrorr   )ÚaÚbÚeÚres_aÚres_bÚres_cÚres_dÚres_es           r   Útest_broadcast_tor˜   Í   s;  € Ý
Œ���ÑÔ€AÝ
Œ�!�‰Œ€AÝ
Œ�‰Œ€AÝ�a‰LŒL×&Ò& uÑ-Ô-€EÝ�a‰LŒL×&Ò& tÑ,Ô,€EÝ�a‰LŒL×&Ò& uÑ-Ô-€EÝ�a‰LŒL×&Ò& tÑ,Ô,€EÝ�a‰LŒL×&Ò& uÑ-Ô-€EÝ�u—}’}‘”­¬¸¸5Ñ(AÔ(AÑBÔBÐBÝ�u—}’}‘”­¬¸¸4Ñ(@Ô(@ÑAÔAÐAÝ�u—}’}‘”­¬¸¸5Ñ(AÔ(AÑBÔBÐBÝ�u—}’}‘”­¬¸¸4Ñ(@Ô(@ÑAÔAÐAÝ�u—}’}‘”­¬¸¸5Ñ(AÔ(AÑBÔBÐBå	Œ•zÐ)>Ð	?Ñ	?Ô	?ð Gð GÝ�I�I�I˜y˜y˜yÐ)Ñ*Ô*×8Ò8¸vÐ8ÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gõ 
Œ•zÐ)>Ð	?Ñ	?Ô	?ð <ð <Ý�I�I�I�;ÑÔ×-Ò-°FÐ-Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <õ 
Œ•zÐ)>Ð	?Ñ	?Ô	?ð 9ð 9Ý�)�)�)ÑÔ×*Ò*°Ð*Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s6   È*IÉIÉIÉ*'JÊJ!Ê$J!Ë&K6Ë6K:Ë=K:)Únumpyr   Únumpy.testingr   r   r   Úscipy.sparser   r   r   r	   r
   Úscipyr   r�   r   r&   r,   r1   ÚmarkÚparametrizer@   rU   Úxfail_on_32bitÚtimeoutr_   ry   r‡   r˜   © r   r   ú<module>r¢      sž  ðØ Ð Ð Ð Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ Ð Ð Ð Ð Ð Ø €€€ð+ð +ð +ð0ð 0ð 0ð"-ð -ð -ð-ð -ð -ð „×ÒÐ=Ø€j�,�,�,Ø��Ø��ðñ ô ð ˆðð €j�,�,�,Ø��Ø��ðñ ô ð ˆðð €j�,�,�,Ø��Ø��ðñ ô ð ˆfðð €j�/�/�/Ø��Ø��ð!ñ "ô "ð ˆððñô ð",ð ,ñ#ô ð",ð(/ð /ð /ð& „×ÒÐ?Ñ@Ô@Ø„×Ò�QÑÔØ„×Ò˜ ¨Y¸
ÀIÐ NÑOÔOð+ð +ñ PÔOñ Ôñ AÔ@ð+ð52ð 52ð 52ðn „×Ò˜ ¨Y¸
ÀIÐ NÑOÔOð
ð 
ñ PÔOð
ð&9ð 9ð 9ð 9ð 9r   