+
    Y°³j&  ã                   ó  € ^ RI t^ RIHt ^ RIt^ RIHtHtHt ^ RI	H
t
 ^ RIHtHtHt RR.tR tR	 tR
 tR tR t]P*                  P-                  R]4      ]P*                  P-                  R. RO4      R 4       4       t]P*                  P-                  R]4      ]P*                  P-                  R. RO4      R 4       4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R]4      R 4       t]P*                  P-                  R. .. 3^ .^ ... 3. RO. R O. R!O.. R"O3. R#O. R$O. R O.. R%O3.4      R 4       t ]P*                  P-                  R. .. 3^ ... 3^..^ .3^ ^.^
^ ..^^ .3. RO. R&O. R'O.. R(O3.4      R 4       t!]P*                  P-                  R. .. 3^ ... 3^..^ .3^ ^.^
^ ..^ ^.3. RO. R&O. R'O.. R)O3.4      R 4       t"R# )*é    N)Úassert_array_equal)Ú	csr_arrayÚ	csc_arrayÚ
csr_matrix)Úmaximum_flow)Ú_add_reverse_edgesÚ_make_edge_pointersÚ_make_tailsÚedmonds_karpÚdinicc            	      óô   € \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^ ^.^ ^ ..4      p \        V ^ ^4       \        V ^ ^RR7       RRR4       R#   + '       g   i     R# ; i©r   r   ©ÚmethodN)ÚpytestÚraisesÚ	TypeErrorÚnpÚarrayr   ©Úgraphs    Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/scipy/sparse/csgraph/tests/test_flow.pyÚtest_raises_on_dense_inputr      sU   € Ü	�Š”y×	!Õ	!Ü—’˜1˜a˜& 1 a &Ð)Ó*ˆÜ�U˜A˜qÔ!Ü�U˜A˜q¨Õ8÷ 
"×	!×	!Ò	!ús   £9A&Á&A7	c            	      óÞ   € \         P                  ! \        4      ;_uu_ 4        \        ^ ^.^ ^ ..4      p \	        V ^ ^4       \	        V ^ ^RR7       RRR4       R#   + '       g   i     R# ; ir   )r   r   r   r   r   r   s    r   Útest_raises_on_csc_inputr      sQ   € Ü	�Š”y×	!Õ	!Ü˜A˜q˜6 A q 6Ð*Ó+ˆÜ�U˜A˜qÔ!Ü�U˜A˜q¨Õ8÷ 
"×	!×	!Ò	!úó   £.AÁA,	c            	      óþ   € \         P                  ! \        4      ;_uu_ 4        \        ^ R.^ ^ ..\        P
                  R7      p \        V ^ ^4       \        V ^ ^RR7       RRR4       R#   + '       g   i     R# ; i)r   g      ø?©Údtyper   r   N)r   r   Ú
ValueErrorr   r   Úfloat64r   r   s    r   Ú#test_raises_on_floating_point_inputr"      sW   € Ü	�Š”z×	"Õ	"Ü˜A˜s˜8 a¨ VÐ,´B·J±JÔ?ˆÜ�U˜A˜qÔ!Ü�U˜A˜q¨Õ8÷ 
#×	"×	"Ò	"ús   £>A+Á+A<	c                  óÀ   € \         P                  ! \        4      ;_uu_ 4        \        . RO. RO.4      p \	        V ^ ^4       RRR4       R#   + '       g   i     R# ; i)r   N)r   é   é   )r%   r$   r   ©r   r   r    r   r   r   s    r   Útest_raises_on_non_square_inputr'   "   s;   € Ü	�Š”z×	"Õ	"Üš9¢iÐ0Ó1ˆÜ�U˜A˜qÔ!÷ 
#×	"×	"Ò	"ús   £AÁA	c            	      óÞ   € \         P                  ! \        4      ;_uu_ 4        \        ^ ^.^ ^ ..4      p \	        V ^ ^ 4       \	        V ^ ^ RR7       RRR4       R#   + '       g   i     R# ; ir   r&   r   s    r   Útest_raises_when_source_is_sinkr)   (   sQ   € Ü	�Š”z×	"Õ	"Ü˜A˜q˜6 A q 6Ð*Ó+ˆÜ�U˜A˜qÔ!Ü�U˜A˜q¨Õ8÷ 
#×	"×	"Ò	"úr   r   Úsourcec           	      óÂ   € \         P                  ! \        4      ;_uu_ 4        \        ^ ^.^ ^ ..4      p\	        W ^VR7       RRR4       R#   + '       g   i     R# ; i©r   r   Nr&   )r*   r   r   s   && r   Ú(test_raises_when_source_is_out_of_boundsr-   /   sE   € ô 
�Š”z×	"Õ	"Ü˜A˜q˜6 A q 6Ð*Ó+ˆÜ�U A¨fÕ5÷ 
#×	"×	"Ò	"úó   £ AÁA	Úsinkc           	      óÂ   € \         P                  ! \        4      ;_uu_ 4        \        ^ ^.^ ^ ..4      p\	        V^ WR7       RRR4       R#   + '       g   i     R# ; ir,   r&   )r/   r   r   s   && r   Ú&test_raises_when_sink_is_out_of_boundsr1   7   sE   € ô 
�Š”z×	"Õ	"Ü˜A˜q˜6 A q 6Ð*Ó+ˆÜ�U˜A˜tÕ3÷ 
#×	"×	"Ò	"úr.   c                 óì   € \        ^ ^.^ ^ ..4      p\        V^ ^V R7      pVP                  ^8X  g   Q h\        P                  ! ^ ^.R^ ..4      p\        VP                  P                  4       V4       R# )r   r   Néûÿÿÿ©r   r   Ú
flow_valuer   r   r   ÚflowÚtoarray©r   r   ÚresÚexpected_flows   &   r   Útest_simple_graphr;   ?   so   € ô ˜˜1�v  1˜vÐ&Ó'€EÜ
�u˜a ¨6Ô
2€CØ�>‰>˜QÔÐÐÜ—H’H˜q !˜f r¨1 gÐ.Ó/€MÜ�s—x‘x×'Ñ'Ó)¨=Ö9ó    c           	      ó  € \        ^ ^.^ ^ ..4      p\        \        V^ ^V R7      P                  \         4      '       g   Q h\	        ^ ^.^ ^ ..4      p\        \        V^ ^V R7      P                  \        4      '       g   Q hR# r,   )r   Ú
isinstancer   r6   r   )r   r   s   & r   Útest_return_typer?   J   sx   € ä˜˜1�v  1˜vÐ&Ó'€EÜ”l 5¨!¨Q°vÔ>×CÑCÄY×OÒOÐOÐOÜ˜˜A˜  A Ð'Ó(€EÜ”l 5¨!¨Q°vÔ>×CÑCÄZ×PÒPÐPÒPr<   c                 óø   € \        . RO. RO. RO.4      p\        V^ ^V R7      pVP                  ^8X  g   Q h\        P                  ! . RO. RO. RO.4      p\        VP                  P                  4       V4       R# )	r   r   N)r   é   r   ©r   r   é   ©r   r   r   ©r   rC   r   )éýÿÿÿr   rC   )r   rF   r   r4   r8   s   &   r   Útest_bottle_neck_graphrG   R   sc   € ô ’y¢)ªYÐ7Ó8€EÜ
�u˜a ¨6Ô
2€CØ�>‰>˜QÔÐÐÜ—H’Hšiª²ZÐ@ÓA€MÜ�s—x‘x×'Ñ'Ó)¨=Ö9r<   c                 ó4  € \        . RO. RO. RO. RO. RO. RO. RO. R	O.4      p\        V^ ^V R7      pVP                  ^8X  g   Q h\        P                  ! . RO. R
O. RO. RO. RO. RO. RO. RO.4      p\        VP                  P                  4       V4       R# )r   r   N)r   é
   r   r   rI   r   r   r   )r   r   rI   r   r   r   r   r   )r   r   r   rI   r   r   r   r   )r   r   r   r   r   r   r   rI   )r   r   r   rI   r   rI   r   r   )r   r   r   r   r   r   rI   r   )r   r   r   r   r   r   r   r   )éöÿÿÿr   rI   r   r   r   r   r   )r   rJ   r   rI   r   r   r   r   )r   r   rJ   r   r   r   r   rI   )rJ   r   r   r   r   rI   r   r   )r   r   r   r   rJ   r   rI   r   )r   r   r   r   r   rJ   r   rI   )r   r   r   rJ   r   r   rJ   r   r4   r8   s   &   r   Útest_backwards_flowrK   ]   s“   € ô Ò1Ú0Ú0Ú0Ú1Ú0Ú0Ú/ð1ó 2€Eô �u˜a ¨6Ô
2€CØ�>‰>˜RÔÐÐÜ—H’HÒ8Ú9Ú9Ú9Ú9Ú9Ú9Ú:ð<ó =€Mô �s—x‘x×'Ñ'Ó)¨=Ö9r<   c           	      ó  € \        . RO. RO. RO. RO. RO. RO.4      p\        V^ ^V R7      pVP                  ^8X  g   Q h\        P                  ! . R	O. R
O. RO. RO. RO. RO.4      p\        VP                  P                  4       V4       R# )r   r   N)r   é   é   r   r   r   )r   r   rI   é   r   r   )r   é   r   r   é   r   )r   r   é	   r   r   é   )r   r   r   é   r   rP   )r   r   r   r   r   r   )r   rO   é   r   r   r   )éôÿÿÿr   r   rO   r   r   )éõÿÿÿr   r   r   rU   r   )r   rV   r   r   iùÿÿÿé   )r   r   rW   rT   r   rP   )r   r   r   iíÿÿÿéüÿÿÿr   r4   r8   s   &   r   Ú#test_example_from_clrs_chapter_26_1rZ   x   s‡   € ô
 Ò+Ú+Ú*Ú*Ú)Ú)ð+ó ,€Eô �u˜a ¨6Ô
2€CØ�>‰>˜RÔÐÐÜ—H’HÒ2Ú3Ú3Ú4Ú2Ú3ð5ó 6€Mô �s—x‘x×'Ñ'Ó)¨=Ö9r<   c                 ó  € \        . RO. RO. RO. RO.4      p\        V^ ^V R7      pVP                  ^ 8X  g   Q h\        P                  ! R\        P
                  R7      p\        VP                  P                  4       V4       R# )r   r   r   N)r   rA   r   r   )r   r   r   r   )r   r   rR   rC   )rP   rP   )	r   r   r5   r   ÚzerosÚint32r   r6   r7   r8   s   &   r   Útest_disconnected_graphr^   Ž   sm   € ô ’|Ú#Ú#Ú#ð%ó &€Eô �u˜a ¨6Ô
2€CØ�>‰>˜QÔÐÐÜ—H’H˜V¬2¯8©8Ô4€MÜ�s—x‘x×'Ñ'Ó)¨=Ö9r<   c                 óš  € R p\         P                  ! ^V4      p\         P                  ! \        \	        V4      4      V^,
          .,           4      p\         P
                  ! V^,
          \         P                  R7      p\        WBV3W3R7      p\        V^ V^,
          V R7      pVP                  ^8X  g   Q hWUP                  4       ,
          p\        VP                  P                  VP                  4       \        VP                  P                  VP                  4       \        VP                  P                  VP                  4       R# )i † r   )Úshaper   N)r   Úaranger   ÚlistÚrangeÚonesr]   r   r   r5   Ú	transposer   r6   ÚdataÚindicesÚindptr)r   Únrg   rh   rf   r   r9   r:   s   &       r   Ú"test_add_reverse_edges_large_graphrj   œ   sã   € ð 	€AÜ�iŠi˜˜1‹o€GÜ�XŠX”dœ5 ›8“n¨¨A­ wÕ.Ó/€FÜ�7Š7�1�q•5¤§¡Ô)€DÜ�t fÐ-°a°VÔ<€EÜ
�u˜a  Q¥¨vÔ
6€CØ�>‰>˜QÔÐÐØŸO™OÓ-Õ-€MÜ�s—x‘x—}‘} m×&8Ñ&8Ô9Ü�s—x‘x×'Ñ'¨×)>Ñ)>Ô?Ü�s—x‘x—‘¨×(<Ñ(<Ö=r<   za,b_data_expectedc                ó¨   € \        V \        P                  \        V 4      \        V 4      3R7      p \	        V 4      p\        VP                  V4       R# )zJTest that the reversal of the edges of the input graph works
as expected.
)r   r`   N)r   r   r]   Úlenr   r   rf   )ÚaÚb_data_expectedÚbs   && r   Útest_add_reverse_edgesrp   ¬   s;   € ô 	�!œ2Ÿ8™8¬C°«F´C¸³FÐ+;Ô<€AÜ˜1Ó€AÜ�q—v‘v˜Ö/r<   z
a,expectedc                 óh   € \        V \        P                  R 7      p \        V 4      p\	        W!4       R# ©r   N)r   r   r]   r	   r   )rm   ÚexpectedÚrev_edge_ptrs   && r   Útest_make_edge_pointersru   º   s&   € ô 	�!œ2Ÿ8™8Ô$€AÜ& qÓ)€LÜ�|Ö.r<   c                 óh   € \        V \        P                  R 7      p \        V 4      p\	        W!4       R# rr   )r   r   r]   r
   r   )rm   rs   Útailss   && r   Útest_make_tailsrx   Ç   s%   € ô 	�!œ2Ÿ8™8Ô$€AÜ˜‹N€EÜ�uÖ'r<   )éÿÿÿÿr%   rC   )r$   r   r%   rD   rE   )r$   r%   r   r   rC   )rR   é   rT   )rP   rA   é   )rR   rz   rT   rP   rA   r{   r   r   rB   )rP   rA   r   )r   rC   rP   r$   r%   )r   r   r$   r%   r%   )#Únumpyr   Únumpy.testingr   r   Úscipy.sparser   r   r   Úscipy.sparse.csgraphr   Úscipy.sparse.csgraph._flowr   r	   r
   Úmethodsr   r   r"   r'   r)   ÚmarkÚparametrizer-   r1   r;   r?   rG   rK   rZ   r^   rj   rp   ru   rx   © r<   r   Ú<module>r…      s  ðÛ Ý ,Û ç 9Ñ 9Ý -÷ñ ð ˜7Ð
#€ò9ò9ò9ò"ò9ð ‡�×Ñ˜ 7Ó+Ø‡�×Ñ˜¢:Ó.ñ6ó /ó ,ð6ð ‡�×Ñ˜ 7Ó+Ø‡�×Ñ˜¢Ó,ñ4ó -ó ,ð4ð ‡�×Ñ˜ 7Ó+ñ:ó ,ð:ð ‡�×Ñ˜ 7Ó+ñQó ,ðQð ‡�×Ñ˜ 7Ó+ñ:ó ,ð:ð ‡�×Ñ˜ 7Ó+ñ:ó ,ð:ð4 ‡�×Ñ˜ 7Ó+ñ:ó ,ð:ð* ‡�×Ñ˜ 7Ó+ñ
:ó ,ð
:ð ‡�×Ñ˜ 7Ó+ñ>ó ,ð>ð ‡�×ÑÐ,Ø€Tˆ2€JØ€cˆAˆ3€Z�ÐÚ’šIÐ&ªÐ8Ú’šIÐ&Ò(@ÐAð	/Có Dñ
0óDð
0ð ‡�×Ñ˜Ø€Tˆ2€JØ€c€UˆB€KØ€c€UˆQˆC€LØˆ!€fˆr�1ˆgÐ˜˜A˜ÐÚ’šIÐ&ªÐ8ð(ó ñ/óð/ð ‡�×Ñ˜Ø€Tˆ2€JØ€c€UˆB€KØ€c€UˆQˆC€LØˆ!€fˆr�1ˆgÐ˜˜A˜ÐÚ’šIÐ&ªÐ8ð(ó ñ(óò(r<   