ó
    {ñ:ic  ã                   óB  • S SK rS SKJr  S SKrS SKJr  S SKJ	r	  S SK
Jr  S rS r\	" S/SSS	/S
9S 5       r\	" S/SSSS9S 5       r\	" S/SSSS9S 5       r\	" S/SSS9S 5       r\	" S/SSSS9S 5       r\	" S/SSSS9S 5       r\	" S/SSSS9S 5       rS rS rS  rg)!é    N)Úassert_array_almost_equal)Úimage_comparisonc                  óp   • [         R                  SSS2SSS24   u  pSUS-  -
  U -   nSU-   U S-  -
  nXX#4$ )Néýÿÿÿé   y              Y@y              i@éÿÿÿÿé   é   )ÚnpÚmgrid)ÚYÚXÚUÚVs       Úc/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/tests/test_streamplot.pyÚvelocity_fieldr   	   sO   € Ü�8‰8�B�q˜�I˜r ! D˜yÐ(Ñ)�D€AØ
ˆQ�‰T‰	�A‰€AØ	ˆA‰��1‘‰€AØ�ˆ:Ðó    c                  ón  • [         R                  " SSS5      n [         R                  " SSS5      n[         R                  " X5      u  p#Sn[         R                  " U5      U* -  [         R                  " U5      U-  -
  n[         R                  " U5      U* -  [         R                  " U5      U-  -   nXXV4$ )Ng      Àg      @éÈ   éd   gš™™™™™¹?)r   ÚlinspaceÚmeshgridÚcosÚsin)ÚxÚyr   r   Úar   r   s          r   Úswirl_velocity_fieldr      s�   € Ü
�Š�C˜˜SÓ!€AÜ
�Š�C˜˜SÓ!€AÜ�;Š;�qÓ�D€AØ€AÜ
�Šˆq‹	�a�RÑœ2Ÿ6š6 !›9 q™=Ñ(€AÜ
�Šˆq‹	�a�RÑœ2Ÿ6š6 !›9 q™=Ñ(€AØ�ˆ:Ðr   Ústreamplot_startpointsTÚmpl20Úpng)Úremove_textÚstyleÚ
extensionsc                  óÚ  • [        5       u  pp#[        R                  " [        R                  " U R	                  5       U R                  5       S5      [        R                  " UR	                  5       UR                  5       S5      5      u  pE[        R                  " UR                  5       UR                  5       /5      n[        R                  " XX#US9  [        R                  " XES5        g )Né   )Ústart_pointsÚok)r   r   r   r   ÚminÚmaxÚcolumn_stackÚravelÚpltÚ
streamplotÚplot)r   r   r   r   Ústart_xÚstart_yr'   s          r   Útest_startpointsr2      s–   € ô  Ó!�J€Aˆ!Ü—{’{¤2§;¢;¨q¯u©u«w¸¿¹»ÀÓ#CÜ#%§;¢;¨q¯u©u«w¸¿¹»ÀÓ#CóEÑ€Gä—?’? G§M¡M£O°W·]±]³_Ð#EÓF€LÜ‡N‚N�1˜¨LÒ9Ü‡H‚HˆW˜tÕ$r   zstreamplot_colormap.pnggºI+‡–?)r"   r#   Útolc                  óª   • [        5       u  pp#[        R                  " XX#USS[        R                  R                  S9  [        R
                  " 5         g )Ng333333ã?r	   )ÚcolorÚdensityÚ	linewidthÚcmap)r   r-   r.   ÚcmÚautumnÚcolorbar)r   r   r   r   s       r   Útest_colormapr<   %   s:   € ô  Ó!�J€Aˆ!Ü‡N‚N�1˜ Q°¸qÜŸ™Ÿ™ò'ä‡L‚L…Nr   Ústreamplot_linewidthgü©ñÒMbp?c            
      óæ   • [        5       u  pp#[        R                  " X#5      nSU-  UR                  5       -  n[        R
                  " 5       R                  5       nUR                  XX#SS/SUS9  g )Nr&   g      à?r
   Úk)r6   r5   r7   )r   r   Úhypotr*   r-   ÚfigureÚsubplotsr.   )r   r   r   r   ÚspeedÚlwÚaxs          r   Útest_linewidthrF   .   s_   € ô  Ó!�J€Aˆ!Ü�HŠH�Q‹N€EØ	
ˆU‰�U—Y‘Y“[Ñ	 €BÜ	�Š‹×	Ñ	Ó	 €BØ‡M�M�!˜ s¨A h°cÀR€MÒHr   zstreamplot_masks_and_nans.png)r"   r#   c            
      óÜ  • [        5       u  pp#[        R                  " UR                  [        S9nSUSS2SS24'   [        R
                  US S2S S24'   [        R                  R                  X$S9n[        R                  " 5       R                  5       n[        R                  " S	S
9   UR                  XX#U[        R                  R                  S9  S S S 5        g ! , (       d  f       g = f)N)Údtyper
   é(   é<   éP   éx   é   )ÚmaskÚignore)Úinvalid)r5   r8   )r   r   ÚzerosÚshapeÚboolÚnanÚmaÚarrayr-   rA   rB   Úerrstater.   r9   ÚBlues)r   r   r   r   rN   rE   s         r   Útest_masks_and_nansrY   8   s¯   € ô  Ó!�J€Aˆ!Ü�8Š8�A—G‘G¤4Ñ(€DØ€DˆˆBˆ��3�ˆÑÜ—&‘&€A€c€r€cˆ3ˆBˆ3€h�KÜ
�‰�‰�AˆÐ!€AÜ	�Š‹×	Ñ	Ó	 €BÜ	�Š˜XÓ	&Ø
�‰�a˜A¨´·±·±ˆÑ=÷ 
'×	&Ö	&ús   Â)+CÃ
C+zstreamplot_maxlength.pngg‡ÙÎ÷SÓ?c                  ó  • [        5       u  pp#[        R                  " 5       R                  5       nUR	                  XX#SSS//SSS9  UR                  5       S   UR                  5       S   s=:X  a  S:X  d   e   eUR                  SS	S
9  g )Nç      $@ç        ç      ø?r	   )Ú	maxlengthr'   r7   r6   r   r   ©Ngž\‚bw
@©Ng‡ËÇi @©ÚxlimÚylim©r   r-   rA   rB   r.   Úget_xlimÚget_ylimÚset©r   r   r   r   rE   s        r   Útest_maxlengthri   E   s‰   € ô &Ó'�J€Aˆ!Ü	�Š‹×	Ñ	Ó	 €BØ‡M�M�!˜¨¸BÀ¸9¸+Ø qð ñ *à�;‰;‹=˜Ñ §¡£¨bÑ 1Õ6°QÓ6Ð6Ñ6Ð6Ð6à‡F�FÐ*Ð1J€FÒKr   z"streamplot_maxlength_no_broken.pngc                  ó  • [        5       u  pp#[        R                  " 5       R                  5       nUR	                  XX#SSS//SSSS9	  UR                  5       S   UR                  5       S   s=:X  a  S:X  d   e   eUR                  S	S
S9  g )Nr[   r\   r]   r	   F)r^   r'   r7   r6   Úbroken_streamlinesr   r   r_   r`   ra   rd   rh   s        r   Útest_maxlength_no_brokenrl   Q   sŒ   € ô &Ó'�J€Aˆ!Ü	�Š‹×	Ñ	Ó	 €BØ‡M�M�!˜¨¸BÀ¸9¸+Ø q¸Uð ñ Dà�;‰;‹=˜Ñ §¡£¨bÑ 1Õ6°QÓ6Ð6Ñ6Ð6Ð6à‡F�FÐ*Ð1J€FÒKr   zstreamplot_direction.pnggã¥›Ä °²?c                  óX   • [        5       u  pp#[        R                  " XX#SSSS//SSS9	  g )NÚbackwardr]   r\   r	   )Úintegration_directionr^   r'   r7   r6   )r   r-   r.   )r   r   r   r   s       r   Útest_directionrp   ]   s2   € ô &Ó'�J€Aˆ!Ü‡N‚N�1˜°ZØ °°b°	¨{Ø¨ó+r   c                  óÞ  • [         R                  " 5       n [        R                  " SSS5      n[        R                  " SSS5      n[        R                  " X!5      u  p![
        R                  " 5       R                  SS5      U R                  -   n[         R                  " X[        R                  " U5      [        R                  " U5      US9  [        U R                  R                  S	S
S9  g )Néûÿÿÿé
   rM   éþÿÿÿé   é   é    )Ú	transform)rM   é   é   é   r
   )Údecimal)r-   Úaxesr   r   r   ÚmtransformsÚAffine2DÚ	translateÚ	transDataÚbarbsr   r   r   ÚdataLimÚbounds)rE   r   r   Útranss       r   Útest_streamplot_limitsr†   f   s¢   € Ü	�Š‹€BÜ
�Š�B˜˜BÓ€AÜ
�Š�B˜˜2Ó€AÜ�;Š;�qÓ�D€AÜ× Ò Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡I‚Iˆa”B—F’F˜1“IœrŸvšv a›y°EÒ:ô ˜bŸj™j×/Ñ/°Ø&'ó)r   c                  ó@  • [         R                  " S5      n [         R                  " S5      n[         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[        R
                  " [        SS9   [        R                  " X#X5        S S S 5        [         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[        R
                  " [        SS9   [        R                  " X#X5        S S S 5        [         R                  " SS/SS//5      n[         R                  " SS/SS//5      n[        R                  " X#X5        [         R                  " SS/5      n[         R                  " SS///5      n[        R
                  " [        S	S9   [        R                  " X#X5        S S S 5        [         R                  " S
5      n [         R                  " S
5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        R
                  " [        SS9   [        R                  " X#X5        S S S 5        [         R                  " / SQ5      n[         R                  " / SQ5      n[        R
                  " [        SS9   [        R                  " X#X5        S S S 5        g ! , (       d  f       GN9= f! , (       d  f       GNÚ= f! , (       d  f       GN2= f! , (       d  f       N®= f! , (       d  f       g = f)N)r	   r	   rs   rM   ry   zThe rows of 'x' must be equal)Úmatchz The columns of 'y' must be equalr   z$'y' can have at maximum 2 dimensions©r   r   )r   rs   rM   )r   rs   ry   z!'y' values must be equally spaced)r   rM   rI   )r   rM   rs   z'y' must be strictly increasing)	r   ÚonesrQ   rV   ÚpytestÚraisesÚ
ValueErrorr-   r.   )ÚuÚvr   r   s       r   Útest_streamplot_gridr�   t   s=  € Ü
�Š�‹€AÜ
�Š�Ó€Aô 	�Š�2�r�(˜R ˜HÐ%Ó&€AÜ
�Š�2�r�(˜R ˜HÐ%Ó&€Aä	�Š”zÐ)HÓ	IÜ�Š�q˜QÔ"÷ 
Jô 	�Š�2�r�(˜R ˜HÐ%Ó&€AÜ
�Š�2�r�(˜R ˜HÐ%Ó&€Aä	�Š”zÐ)KÓ	LÜ�Š�q˜QÔ"÷ 
Mô 	�Š�2�r�(˜R ˜HÐ%Ó&€AÜ
�Š�2�r�(˜R ˜HÐ%Ó&€AÜ‡N‚N�1˜Ôô 	�Š�!�R�Ó€AÜ
�Š�A�r�7�)�Ó€Aä	�Š”zð *8ó 
9ä�Š�q˜QÔ"÷
9ô
 	�Š�‹€AÜ
�Š�Ó€AÜ
�Š’Ó€AÜ
�Š’Ó€Aä	�Š”zÐ)LÓ	MÜ�Š�q˜QÔ"÷ 
Nô 	�Š’Ó€AÜ
�Š’Ó€Aä	�Š”zÐ)JÓ	KÜ�Š�q˜QÔ"÷ 
LÐ	K÷E 
JÖ	Iú÷ 
MÖ	Lú÷
9ö 
9ú÷ 
NÕ	Mú÷ 
LÕ	Kús<   Á>KÃ/KÆ)K,È>K>Ê'LË
KË
K)Ë,
K;Ë>
LÌ
Lc            
      ó  • [         R                  " [        R                  " S5      [        R                  " S5      [        R                  " S[        R
                  5      [        R                  " S[        R
                  5      [        R                  R                  SS5      S9  [         R                  " [        S5      [        S5      [        R                  R                  SS5      [        R                  R                  SS5      5        g )Nr   r‰   )r5   )	r-   r.   r   ÚarangeÚfullrT   ÚrandomÚrandÚrange© r   r   Útest_streamplot_inputsr˜   ¢   s”   € ä‡N‚N”2—9’9˜Q“<¤§¢¨1£Ü—7’7˜6¤2§6¡6Ó*¬B¯GªG°F¼B¿F¹FÓ,CÜŸ™Ÿ™¨¨1Ó-ò/ô ‡N‚N”5˜“8œU 1›XÜ—9‘9—>‘> ! QÓ'¬¯©¯©¸¸1Ó)=õ?r   )Únumpyr   Únumpy.testingr   r‹   Úmatplotlib.pyplotÚpyplotr-   Úmatplotlib.testing.decoratorsr   Úmatplotlib.transformsÚ
transformsr~   r   r   r2   r<   rF   rY   ri   rl   rp   r†   r�   r˜   r—   r   r   Ú<module>r       sA  ðÛ Ý 3Û Ý Ý :Ý +òòñ Ð+Ð,¸$ÀgØ#˜Wñ&ñ%ó&ð%ñ Ð,Ð-¸4ÀwØññóðñ Ð)Ð*¸ÀGØññIóðIñ Ð2Ð3Ø"¨'ñ3ñ>ó3ð>ñ Ð-Ð.Ø"¨'°uñ>ñLó>ðLñ Ð7Ð8Ø"¨'°uñ>ñLó>ðLñ Ð-Ð.Ø"¨'°uñ>ñ+ó>ð+ò)ò+#ó\?r   