Ë
    D^(hå  ã                   ó6   — d Z ddlZddlZd„ Zd„ Zd„ Zd„ Zd„ Zy)z'Unit tests for the broadcasting module.é    Nc                  ó&  — g d¢} t        j                  | «      }t        j                  |«      \  }}|dk(  sJ ‚|ddhk(  sJ ‚t        j                  |d«      dk(  sJ ‚t        j                  |d«      dk(  sJ ‚t        j                  |«      dk(  sJ ‚y	)
zo
    Test the BROADCAST algorithm on the example in the paper titled: "Information Dissemination in Trees"
    ))r   é   )r   é   )r   é   )é   é   )é   r   )r   r   )é   r   )r   é	   )é   r   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é
   )r   é   )r   é   )r   é   )r   é   r
   r   r   r   r   r   r   N)ÚnxÚGraphÚtree_broadcast_centerÚtree_broadcast_time)Ú	edge_listÚGÚb_TÚb_Cs       úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/algorithms/tests/test_broadcasting.pyÚtest_example_tree_broadcastr!      s—   € ò€Iô, 	�‰�Ó€AÜ×'Ñ'¨Ó*�H€CˆØ�!Š8€Oˆ8Ø�2�q�'Š>Ðˆ>ä×!Ñ! ! RÓ(¨AÒ-Ð-Ð-Ü×!Ñ! ! QÓ'¨1Ò,Ð,Ð,ä×!Ñ! !Ó$¨Ò*Ð*Ñ*ó    c            	      óÆ  — t        dd«      D ]Ò  } t        j                  | «      }t        j                  |«      \  }}|t	        j
                  | dz  «      k(  sJ ‚|t	        j
                  | dz  «      t	        j                  | dz  «      t	        j
                  | dz  dz
  «      t	        j                  | dz  dz
  «      hk(  sJ ‚t        j                  |«      | dz
  k(  rŒÒJ ‚ y )Nr   r   r   )Úranger   Ú
path_graphr   ÚmathÚceilÚfloorr   ©Úir   r   r   s       r    Útest_path_broadcastr+   -   sÒ   € Ü�1�b‹\ò 
2ˆÜ�M‰M˜!ÓˆÜ×+Ñ+¨AÓ.‰ˆˆSØ”d—i‘i  A¡Ó&Ò&Ð&Ð&ØÜ�I‰I�a˜!‘eÓÜ�J‰J�q˜1‘uÓÜ�I‰I�a˜!‘e˜a‘iÓ Ü�J‰J�q˜1‘u˜q‘yÓ!ð	
ò 
ð 	
ð 
ô ×%Ñ% aÓ(¨A°©EÓ1Ð1Ð1ñ
2r"   c                  ó°   — t        j                  d«      } t        j                  | «      \  }}|dk(  sJ ‚|dhk(  sJ ‚t        j                  | «      dk(  sJ ‚y )Nr   r   )r   Úempty_graphr   r   )ÚHr   r   s      r    Útest_empty_graph_broadcastr/   ;   sV   € Ü
�‰�qÓ€AÜ×'Ñ'¨Ó*�H€CˆØ�!Š8€Oˆ8Ø�1�#Š:Ðˆ:Ü×!Ñ! !Ó$¨Ò)Ð)Ñ)r"   c                  óþ   — t        dd«      D ]n  } t        j                  | «      }t        j                  |«      \  }}|| k(  sJ ‚|t	        |j                  «       «      k(  sJ ‚t        j                  |«      |k(  rŒnJ ‚ y )Nr   r   )r$   r   Ú
star_graphr   ÚsetÚnodesr   r)   s       r    Útest_star_broadcastr4   C   su   € Ü�1�b‹\ò 0ˆÜ�M‰M˜!ÓˆÜ×+Ñ+¨AÓ.‰ˆˆSØ�aŠxˆˆxØ”c˜!Ÿ'™'›)“nÒ$Ð$Ð$Ü×%Ñ% aÓ(¨CÓ/Ð/Ð/ñ0r"   c                  óì   — t        dd«      D ]e  } t        j                  | «      }t        j                  |«      \  }}|| k(  sJ ‚|dd| dz
  z  hk(  sJ ‚t        j                  |«      d| z  dz
  k(  rŒeJ ‚ y )Nr   r   r   r   )r$   r   Úbinomial_treer   r   r)   s       r    Útest_binomial_tree_broadcastr7   L   s‚   € Ü�1�a‹[ò 6ˆÜ×Ñ˜QÓˆÜ×+Ñ+¨AÓ.‰ˆˆSØ�aŠxˆˆxØ�q˜!  A¡™,Ð'Ò'Ð'Ð'Ü×%Ñ% aÓ(¨A°©E°A©IÓ5Ð5Ð5ñ6r"   )	Ú__doc__r&   Únetworkxr   r!   r+   r/   r4   r7   © r"   r    ú<module>r;      s(   ðÙ -ã ã ò"+òJ2ò*ò0ó6r"   