+
    �°³j„  ã                   óN  € R t ^ RIt^ RIt^ RIHtHt ^ RIHtH	t	H
t
HtHtHtHtHt  ^ RItRt ! R R4      tR tR	 t]P.                  P1                  R
]P
                  ! 4       ]P2                  ! R.4      34      R 4       t ! R R4      t ! R R4      tR#   ] d    Rt Lui ; i)z:Generators - Directed Graphs
----------------------------
N)ÚGraphÚMultiDiGraph)Ú_random_k_out_graph_numpyÚ_random_k_out_graph_pythonÚgn_graphÚ	gnc_graphÚ	gnr_graphÚrandom_k_out_graphÚrandom_uniform_k_out_graphÚscale_free_graphTFc                   ó2   a € ] tR t^t o R tR tR tRtV tR# )ÚTestGeneratorsDirectedc                óÊ   € \        ^d4       \        ^dR4       \        ^d4       \        ^d4       \        ^d^*R7       \        ^dR^*R7       \        ^d^*R7       \        ^d^*R7       R# )éd   ç      à?©ÚseedN)r   r   r   r   ©Úselfs   &Úh/home/luca/screen-checking/.venv/lib/python3.14/site-packages/networkx/generators/tests/test_directed.pyÚtest_smoke_test_random_graphsÚ4TestGeneratorsDirected.test_smoke_test_random_graphs   sL   € Ü�ŒÜ�#�sÔÜ�#ŒÜ˜Ôä�˜2ÕÜ�#�s Õ$Ü�#˜BÕÜ˜ 2×&ó    c                óÌ  € \         P                  ! \        P                  \        ^d\        4       R7       \         P                  ! \        P                  \        ^dR\        4       R7       \         P                  ! \        P                  \        ^d\        4       R7       \	        ^d^R7      p\	        ^d\        4       ^R7      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        ^dR^R7      p\        ^dR\        4       ^R7      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        ^d^R7      p\        ^d\        4       ^R7      p\        VP                  4       4      \        VP                  4       4      8X  g   Q h\        ^dRRRRR\        P                  ! ^\        R7      ^R7      p\         P                  ! \        \        ^dRRR4       \         P                  ! \        \        ^dRR	7       \         P                  ! \        \        ^dRR
7       \         P                  ! \        \        ^dRR7       R# )r   )Úcreate_usingr   r   )r   r   g333333Ó?gš™™™™™Ù?gš™™™™™¹?)ÚalphaÚbetaÚgammaÚdelta_inÚ	delta_outÚinitial_graphr   )r   )r   )r   Ng333333Ó¿)ÚpytestÚraisesÚnxÚNetworkXErrorr   r   r   r   r   ÚsortedÚedgesr   Úcycle_graphÚ
ValueError)r   ÚGÚMGs   &  r   Ú#test_create_using_keyword_argumentsÚ:TestGeneratorsDirected.test_create_using_keyword_arguments(   s•  € Ü�Š”b×&Ñ&¬°#ÄEÃGÕLÜ�Š”b×&Ñ&¬	°3¸Ì%Ë'ÕRÜ�Š”b×&Ñ&¬	°3ÄUÃWÕMÜ�S˜qÔ!ˆÜ�c¬«¸QÔ?ˆÜ�a—g‘g“iÓ ¤F¨2¯8©8«:Ó$6Ô6Ð6Ð6Ü�c˜3 QÔ'ˆÜ�s˜C¬l«nÀ1ÔEˆÜ�a—g‘g“iÓ ¤F¨2¯8©8«:Ó$6Ô6Ð6Ð6Ü�c Ô"ˆÜ�s¬«¸aÔ@ˆÜ�a—g‘g“iÓ ¤F¨2¯8©8«:Ó$6Ô6Ð6Ð6äØØØØØØÜŸ.š.¨¼ÔFØô	
ˆô 	�Š”jÔ"2°C¸¸cÀ3ÔGÜ�Š”jÔ"2°C¸tÕDÜ�Š”jÔ"2°C¸dÕCÜ�Š”jÔ"2°C¸t×Dr   c                óž  € \         P                  ! 4       pVP                  ^ 4       R p\         P                  ! \	        ^4      V4      '       g   Q h\         P                  ! \	        ^VR7      V4      '       g   Q h\         P                  ! \        ^4      V4      '       g   Q h\         P                  ! \        ^R4      V4      '       g   Q hR# )é    c                 ó   € V # ©N© )Úxs   &r   ÚkernelÚ6TestGeneratorsDirected.test_parameters.<locals>.kernelI   s   € ØˆHr   )r3   r   N)r#   ÚDiGraphÚadd_nodeÚis_isomorphicr   r   r   )r   r)   r3   s   &  r   Útest_parametersÚ&TestGeneratorsDirected.test_parametersE   s™   € Ü�JŠJ‹LˆØ	�
‰
�1Œò	ô ×Ò¤¨£¨Q×/Ò/Ð/Ð/Ü×Ò¤¨°6Ô :¸A×>Ò>Ð>Ð>Ü×Ò¤	¨!£¨a×0Ò0Ð0Ð0Ü×Ò¤	¨!¨SÓ 1°1×5Ò5Ð5Ò5r   r1   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r+   r8   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ò	'òE÷:
6ð 
6r   r   c                  ó<  € \         P                  ! \        R R7      ;_uu_ 4        \        ^
RR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        ^
RR7       RRR4       R#   + '       g   i     LL; i  + '       g   i     R# ; i)zdelta_in must be >= 0.©Úmatch)r   Nzdelta_out must be >= 0.)r   éÿÿÿÿ)r!   r"   r(   r   r1   r   r   Ú$test_scale_free_graph_negative_deltarF   R   s]   € Ü	�Š”zÐ)A×	BÖ	BÜ˜ bÕ)÷ 
Cä	�Š”zÐ)B×	CÖ	CÜ˜ rÕ*÷ 
DÑ	C÷ 
C×	Búç	C×	CÐ	Cús   ¥A7ÁB
Á7B	Â
B	c                  ó–   € \        . RO4      p \        ^V R7      p\        V4      ^8X  g   Q h\        VP                  4      ^8X  g   Q hR# )Úa©r    N))rH   Úb)rJ   Úc)rK   rH   )r   r   Úlenr&   )r)   Úss     r   Útest_non_numeric_orderingrN   Y   s?   € ÜÒ9Ó:€AÜ˜¨!Ô,€AÜˆq‹6�QŒ;Ðˆ;Üˆq�w‰w‹<˜1ÔÐÒr   Úigc                 ó²   € \         P                  ! \        P                  4      ;_uu_ 4        \	        ^dV R7       RRR4       R#   + '       g   i     R# ; i)r   rI   N)r!   r"   r#   r$   r   )rO   s   &r   Ú)test_scale_free_graph_initial_graph_kwargrQ   `   s0   € ä	�Š”r×'Ñ'×	(Õ	(Ü˜¨BÕ/÷ 
)×	(×	(Ò	(ús   ­AÁA	c            
       ó  a € ] tR t^ft o Rt]P                  ! ]P                  ! ]]P                  P                  ]'       * RR7      R7      ].R7      R 4       t]P                  ! . ROR7      R 4       tR tR	 tR
 tR tRtV tR# )ÚTestRandomKOutGraphzWUnit tests for the
:func:`~networkx.generators.directed.random_k_out_graph` function.

znumpy not installed)Úreason)Úmarks)Úparamsc              #  ó*   "  € VP                   x € R # 5ir0   ©Úparam©r   Úrequests   &&r   ÚfÚTestRandomKOutGraph.fl   s   é € ð �m‰mÔùó   ‚c              #  ó*   "  € VP                   x € R # 5ir0   rX   rZ   s   &&r   ÚnkalphaÚTestRandomKOutGraph.nkalphax   s   é € à�m‰mÔùr^   c                óØ   a€ Vw  popV! VSV^*R7      p\         ;QJ d)    V3R lVP                   4       F  '       d   K   RM	  RM! V3R lVP                   4       4      '       g   Q hR# )z1Test that the generated graph is `k`-out-regular.r   c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   ©Ú.0Ú_ÚdÚks   &  €r   Ú	<genexpr>Ú6TestRandomKOutGraph.test_regularity.<locals>.<genexpr>€   ó   øé € Ð3¡l™d˜a�1˜–6£lùó   ƒFTN)ÚallÚ
out_degree)r   r\   r`   Únr   r)   rh   s   &&&   @r   Útest_regularityÚ#TestRandomKOutGraph.test_regularity|   sM   ø€ à‰ˆˆ1ˆeÙˆa��E Ô#ˆß‹sÔ3 a§l¢lÓ3�s�sŠsÔ3 a§l¢lÓ3×3Ò3Ð3Ò3r   c                ób   € Vw  r4pV! W4VR^*R7      p\         P                  ! V4      ^ 8X  g   Q hR# )zTest for forbidding self-loops.F)Ú
self_loopsr   N)r#   Únumber_of_selfloops)r   r\   r`   ro   rh   r   r)   s   &&&    r   Útest_no_self_loopsÚ&TestRandomKOutGraph.test_no_self_loops‚   s4   € à‰ˆˆeÙˆa�E e°"Ô5ˆÜ×%Ò% aÓ(¨AÔ-Ð-Ò-r   c                ó  a€ Vw  pop\        VSV^*R7      p\        V4      V8X  g   Q h\        ;QJ d)    V3R lVP                   4       F  '       d   K   RM	  RM! V3R lVP                   4       4      '       g   Q hR# )zFTest that the interface function `random_k_out_graph` works correctly.r   c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   rd   s   &  €r   ri   Ú>TestRandomKOutGraph.test_random_k_out_graph.<locals>.<genexpr>�   rk   rl   FTN)r	   rL   rm   rn   )r   r`   ro   r   r)   rh   s   &&   @r   Útest_random_k_out_graphÚ+TestRandomKOutGraph.test_random_k_out_graphˆ   s]   ø€ à‰ˆˆ1ˆeÜ˜q ! U°Ô4ˆÜ�1‹v˜Œ{Ðˆ{ß‹sÔ3 a§l¢lÓ3�s�sŠsÔ3 a§l¢lÓ3×3Ò3Ð3Ò3r   c                ó¢   € \         P                  ! \        R R7      ;_uu_ 4        \        ^
^R4       RRR4       R#   + '       g   i     R# ; i)zalpha must be positiverC   NrE   )r!   r"   r(   r	   r   s   &r   Útest_negative_alphaÚ'TestRandomKOutGraph.test_negative_alpha�   s0   € Ü�]Š]œ:Ð-E×FÖFÜ˜r 1 bÔ)÷ G×F×FÒFús	   ¥=½A	r1   N))é
   é   é   )é   é   é   )é   r�   r   )r:   r;   r<   r=   Ú__doc__r!   ÚfixturerY   r   ÚmarkÚskipifÚ	has_numpyr   r\   r`   rp   ru   rz   r}   r>   r?   r@   s   @r   rS   rS   f   s’   ø‡ € ñð
 ‡^‚^à�LŠLØ)Ø—k‘k×(Ñ(¨Y¬Ð?TÐ(ÓUôð 'ð
ôñóðð ‡^‚^Ò?Ô@ñó Aðò4ò.ò4÷*ð *r   rS   c                   ó<   a € ] tR t^”t o RtR tR tR tR tRt	V t
R# )ÚTestUniformRandomKOutGraphz_Unit tests for the
:func:`~networkx.generators.directed.random_uniform_k_out_graph`
function.

c                ó¼  a€ ^
p^o\        VS4      p\        ;QJ d-    V3R lVP                  4        4       F  '       d   K   RM"	  RM! V3R lVP                  4        4       4      '       g   Q h\        VS^*R7      p\        ;QJ d-    V3R lVP                  4        4       F  '       d   K   RM"	  RM! V3R lVP                  4        4       4      '       g   Q hR# )z2Tests that the generated graph is `k`-out-regular.c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   ©re   Úvrg   rh   s   &  €r   ri   Ú=TestUniformRandomKOutGraph.test_regularity.<locals>.<genexpr>    ó   øé € Ð5¡n™d˜a�1˜–6£nùrl   FTr   c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   r�   s   &  €r   ri   r‘   ¢   r’   rl   N)r
   rm   rn   ©r   ro   r)   rh   s   &  @r   rp   Ú*TestUniformRandomKOutGraph.test_regularity›   s�   ø€ àˆØˆÜ& q¨!Ó,ˆß‹sÔ5 a§l¡l¤nÓ5�s�sŠsÔ5 a§l¡l¤nÓ5×5Ò5Ð5Ð5Ü& q¨!°"Ô5ˆß‹sÔ5 a§l¡l¤nÓ5�s�sŠsÔ5 a§l¡l¤nÓ5×5Ò5Ð5Ò5r   c                ó"  a€ ^
p^o\        VSRR7      p\        P                  ! V4      ^ 8X  g   Q h\        ;QJ d-    V3R lVP	                  4        4       F  '       d   K   RM"	  RM! V3R lVP	                  4        4       4      '       g   Q hR# )z Tests for forbidding self-loops.F)rs   c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   r�   s   &  €r   ri   Ú@TestUniformRandomKOutGraph.test_no_self_loops.<locals>.<genexpr>ª   r’   rl   TN)r
   r#   rt   rm   rn   r”   s   &  @r   ru   Ú-TestUniformRandomKOutGraph.test_no_self_loops¤   sg   ø€ àˆØˆÜ& q¨!¸Ô>ˆÜ×%Ò% aÓ(¨AÔ-Ð-Ð-ß‹sÔ5 a§l¡l¤nÓ5�s�sŠsÔ5 a§l¡l¤nÓ5×5Ò5Ð5Ò5r   c                ó4  a€ ^
p^o\        VSRR7      pVP                  4       '       g   Q h\        ;QJ d-    V3R lVP                  4        4       F  '       d   K   RM"	  RM! V3R lVP                  4        4       4      '       g   Q h^
p^	o\        VSRRR7      p\        P
                  ! V4      ^ 8X  g   Q h\        ;QJ d-    V3R lVP                  4        4       F  '       d   K   RM"	  RM! V3R lVP                  4        4       4      '       g   Q hR# )r   T©Úwith_replacementc              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   r�   s   &  €r   ri   ÚCTestUniformRandomKOutGraph.test_with_replacement.<locals>.<genexpr>±   r’   rl   F)rœ   rs   c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   r�   s   &  €r   ri   rž   ¶   r’   rl   N)r
   Úis_multigraphrm   rn   r#   rt   r”   s   &  @r   Útest_with_replacementÚ0TestUniformRandomKOutGraph.test_with_replacement¬   sÈ   ø€ ØˆØˆÜ& q¨!¸dÔCˆØ�‰× Ò Ð Ð ß‹sÔ5 a§l¡l¤nÓ5�s�sŠsÔ5 a§l¡l¤nÓ5×5Ò5Ð5Ð5ØˆØˆÜ& q¨!¸eÐPUÔVˆÜ×%Ò% aÓ(¨AÔ-Ð-Ð-ß‹sÔ5 a§l¡l¤nÓ5�s�sŠsÔ5 a§l¡l¤nÓ5×5Ò5Ð5Ò5r   c                ó  a€ ^
p^o\        VSRR7      pVP                  4       '       d   Q h\        ;QJ d-    V3R lVP                  4        4       F  '       d   K   RM"	  RM! V3R lVP                  4        4       4      '       g   Q hR# )r   Fr›   c              3   ó2   <"  € T F  w  rVS8H  x € K  	  R # 5ir0   r1   r�   s   &  €r   ri   ÚFTestUniformRandomKOutGraph.test_without_replacement.<locals>.<genexpr>½   r’   rl   TN)r
   r    rm   rn   r”   s   &  @r   Útest_without_replacementÚ3TestUniformRandomKOutGraph.test_without_replacement¸   sa   ø€ ØˆØˆÜ& q¨!¸eÔDˆØ—?‘?×$Ò$Ð$Ð$ß‹sÔ5 a§l¡l¤nÓ5�s�sŠsÔ5 a§l¡l¤nÓ5×5Ò5Ð5Ò5r   r1   N)r:   r;   r<   r=   r†   rp   ru   r¡   r¦   r>   r?   r@   s   @r   rŒ   rŒ   ”   s#   ø‡ € ñò6ò6ò
6÷6ð 6r   rŒ   )r.   r�   )r†   r!   Únetworkxr#   Únetworkx.classesr   r   Únetworkx.generators.directedr   r   r   r   r   r	   r
   r   ÚnumpyÚnprŠ   ÚImportErrorr   rF   rN   rˆ   Úparametrizer5   rQ   rS   rŒ   r1   r   r   Ú<module>r¯      s®   ðñó ã ß 0÷	÷ 	ó 	ðÛà€I÷
36ñ 36òl+òð ‡�×Ñ˜ §¢£
¨B¯JªJ¸°xÓ,@ÐAÓBñ0ó Cð0÷
+*ñ +*÷\)6ó )6øðy ô Ø‚Iðús   ¨B Â	B$Â#B$