+
    Y°³j  ã                   ó$  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHt R tR	 tR
 tR tR tR tR tR t]P0                  P3                  R. RO4      R 4       t]P0                  P3                  R]4      R 4       tR tR# )é    )Úassert_array_equalN)Úlinear_sum_assignment)Úrandom_array)Úmatrix)Ú"min_weight_full_bipartite_matching)Ú linear_sum_assignment_assertionsÚ linear_sum_assignment_test_casesc                  ó¢   € \         P                  ! \        R R7      ;_uu_ 4        \        . RO4       RRR4       R#   + '       g   i     R# ; i)zexpected a matrix©ÚmatchN©é   é   é   )ÚpytestÚraisesÚ
ValueErrorr   © ó    Úl/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/optimize/tests/test_linear_assignment.pyÚ&test_linear_sum_assignment_input_shaper      s+   € Ü	�Š”zÐ)<×	=Ö	=ÜšiÔ(÷ 
>×	=×	=Ò	=ús	   ¥=½A	c                  óÈ   € . RO. RO.p \        \        V 4      \        \        P                  ! V 4      4      4       \        \        V 4      \        \	        V 4      4      4       R# )r   Nr   )é   é   é   )r   r   ÚnpÚasarrayr   )ÚCs    r   Ú'test_linear_sum_assignment_input_objectr      sH   € Ú	’IÐ€AÜÔ,¨QÓ/Ü,¬R¯ZªZ¸«]Ó;ô=äÔ,¨QÓ/Ü,¬V°A«YÓ7ö9r   c                  ó¨   € \         P                  ! ^4      p \        \        V P	                  \         P
                  4      4      \        V 4      4       R# )r   N)r   Úidentityr   r   ÚastypeÚbool_©ÚIs    r   Ú%test_linear_sum_assignment_input_boolr&      s4   € Ü
�Š�A‹€AÜÔ,¨Q¯X©X´b·h±hÓ-?Ó@Ü,¨QÓ/ö1r   c                  óð   € \         P                  ! ^4      p \        P                  ! \        RR7      ;_uu_ 4        \        V P                  \        4      4       RRR4       R#   + '       g   i     R# ; i)r   zCannot cast array datar   N)r   r!   r   r   Ú	TypeErrorr   r"   Ústrr$   s    r   Ú'test_linear_sum_assignment_input_stringr*   %   sA   € Ü
�Š�A‹€AÜ	�Š”yÐ(@×	AÖ	AÜ˜aŸh™h¤s›mÔ,÷ 
B×	A×	AÒ	Aús   »A$Á$A5	c                  óì   € \         P                  ! \         P                  ^^.4      p \        P                  ! \
        RR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i©r   z contains invalid numeric entriesr   N)r   ÚdiagÚnanr   r   r   r   r$   s    r   Ú$test_linear_sum_assignment_input_nanr/   +   sD   € Ü
�Š”—‘˜˜A�Ó€AÜ	�Š”zÐ)K×	LÖ	LÜ˜aÔ ÷ 
M×	L×	LÒ	Lús   ÁA"Á"A3	c                  óî   € \         P                  ! ^\         P                  ) ^.4      p \        P                  ! \
        RR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; ir,   )r   r-   Úinfr   r   r   r   r$   s    r   Ú'test_linear_sum_assignment_input_neginfr2   1   sF   € Ü
�Š�”R—V‘V�G˜Q�Ó €AÜ	�Š”zÐ)K×	LÖ	LÜ˜aÔ ÷ 
M×	L×	LÒ	Lús   ÁA#Á#A4	c                  óð   € \         P                  ! ^4      p \         P                  V R&   \        P                  ! \
        RR7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)r   zcost matrix is infeasibler   N):NNNr   )r   r!   r1   r   r   r   r   r$   s    r   Ú$test_linear_sum_assignment_input_infr4   7   sF   € Ü
�Š�A‹€AÜ�f‰f€A€d�GÜ	�Š”zÐ)D×	EÖ	EÜ˜aÔ ÷ 
F×	E×	EÒ	Eús   ÁA$Á$A5	c                  óÒ   € ^p \         P                  ! W 34      p\        V4      w  r#\        V\         P                  ! V 4      4       \        V\         P                  ! V 4      4       R# )é   N)r   Úonesr   r   Úarange)Únr   Úrow_indÚcol_inds       r   Útest_constant_cost_matrixr<   >   sG   € à	€AÜ
�Š��‹€AÜ,¨QÓ/Ñ€GÜ�w¤§	¢	¨!£Ô-Ü�w¤§	¢	¨!£Ö-r   znum_rows,num_colsc                 ó˜   € \         P                  ! W3R 7      p\        V4      w  r4\        V4      ^ 8X  g   Q h\        V4      ^ 8X  g   Q hR# ))ÚshapeN)r   Úemptyr   Úlen)Únum_rowsÚnum_colsr   r:   r;   s   &&   r   Ú'test_linear_sum_assignment_trivial_costrC   G   sD   € ä
�Š˜Ð+Ô,€AÜ,¨QÓ/Ñ€GÜˆw‹<˜1ÔÐÐÜˆw‹<˜1ÔÐÒr   zsign,test_casec                 óD   € \        \        \        P                  W4       R # )N)r   r   r   Úarray)ÚsignÚ	test_cases   &&r   Ú'test_linear_sum_assignment_small_inputsrH   O   s   € ä$ÜœrŸx™x¨ö:r   c                  óv  a	€ \         P                  P                  R 4      o	\        ^d4       Fã  p RpRp\	        RRV	3R lR7      p\         P
                  ! VP                  \         P                  4      pVP                  WCP                  VP                  3&   VP                  4       p \        V4      w  rVWEV3,          P                  4       p \        V4      w  rVW5V3,          P                  4       pW8X  g   Q hV'       d   KÚ  XX8X  d   Kã  Q h	  R#   \         d    Rp LVi ; i  \         d    Rp LCi ; i)i%T¼ Fg¸…ëQ¸®?c                 ó*   <€ SP                  ^^dV 4      # )r   )Úintegers)ÚsizeÚrngs   &€r   Ú<lambda>ÚItest_two_methods_give_same_result_on_many_sparse_inputs.<locals>.<lambda>a   s   ø€  c§l¡l°1°c¸4Ô&@r   )ÚdensityÚdata_samplerTN)éd   rR   )r   ÚrandomÚdefault_rngÚranger   Úfullr>   r1   ÚdataÚrowÚcolÚtocsrr   Úsumr   r   )
Ú_Ú
lsa_raisesÚmwfbm_raisesÚsparseÚdenser:   r;   Úlsa_costÚ
mwfbm_costrM   s
            @r   Ú7test_two_methods_give_same_result_on_many_sparse_inputsrc   W   s  ø€ ô
 �)‰)×
Ñ
 Ó
)€CÜ�3ŽZˆØˆ
ØˆÜ˜j°$Ü@ôBˆô —’˜Ÿ™¤b§f¡fÓ-ˆØ(.¯©ˆ�j‰j˜&Ÿ*™*Ð$Ñ%Ø—‘“ˆð	Ü4°UÓ;ÑˆGØ gÐ-Õ.×2Ñ2Ó4ˆHð	 ÜAÀ&ÓIÑˆGØ¨Ð 0Õ1×5Ñ5Ó7ˆJð Ô)Ð)Ð)ß‰zØ˜zÖ)Ð)Ð)ó/ øô ô 	ØŠJð	ûô
 ô 	 ØŠLð	 ús$   Â)%DÃ%D(ÄD%Ä$D%Ä(D8Ä7D8))r   r   )r   r   )r   r   )Únumpy.testingr   r   Únumpyr   Úscipy.optimizer   Úscipy.sparser   Úscipy.sparse._sputilsr   Úscipy.sparse.csgraphr   Ú(scipy.sparse.csgraph.tests.test_matchingr   r	   r   r   r&   r*   r/   r2   r4   r<   ÚmarkÚparametrizerC   rH   rc   r   r   r   Ú<module>rm      sž   ðõ -Û ã å 0Ý %Ý (Ý C÷ò
)ò
9ò1ò-ò!ò!ò!ò.ð ‡�×ÑÐ,Ò.FÓGñó Hðð ‡�×ÑÐ)Ð+KÓLñ:ó Mð:ô*r   