+
    ic                     n   ^ RI t^ RIHt ^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht R tR t]	! R.RRR	.R
7      R 4       t]	! R.RRRR7      R 4       t]	! R.RRRR7      R 4       t]	! R.RRR7      R 4       t]	! R.RRRR7      R 4       t]	! R.RRRR7      R 4       t]	! R.RRRR7      R 4       tR tR tR  tR# )!    N)assert_array_almost_equal)image_comparisonc                      \         P                  R^R1R^R13,          w  rRV^,          ,
          V ,           p^V,           V ^,          ,
          pWW#3# )   y              Y@y              i@)npmgrid)YXUVs       ڀ/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_streamplot.pyvelocity_fieldr   	   sO    88BqIr!Dy()DA
QT	AA	A1A:    c                     \         P                  ! RR ^4      p \         P                  ! RR ^d4      p\         P                  ! W4      w  r#Rp\         P                  ! V4      V) ,          \         P                  ! V4      V,          ,
          p\         P                  ! V4      V) ,          \         P                  ! V4      V,          ,           pWWV3# )g      @g?g      )r	   linspacemeshgridcossin)xyr   r   ar   r   s          r   swirl_velocity_fieldr      s    
CS!A
CS!A;;qDAA
q	aR266!9q=(A
q	aR266!9q=(A:r   streamplot_startpointsTmpl20png)remove_textstyle
extensionsc                     \        4       w  rr#\        P                  ! \        P                  ! V P	                  4       V P                  4       ^4      \        P                  ! VP	                  4       VP                  4       ^4      4      w  rE\        P                  ! VP                  4       VP                  4       .4      p\        P                  ! WW#VR7       \        P                  ! WER4       R# )   )start_pointsokN)r   r	   r   r   minmaxcolumn_stackravelplt
streamplotplot)r   r   r   r   start_xstart_yr#   s          r   test_startpointsr.      s      !JA!{{2;;quuw#C#%;;quuw#CEG??GMMOW]]_#EFLNN1L9HHWt$r   zstreamplot_colormap.pnggI+?)r   r   tolc                      \        4       w  rr#\        P                  ! WW#VR ^\        P                  P                  R7       \        P
                  ! 4        R# )g333333?)colordensity	linewidthcmapN)r   r)   r*   cmautumncolorbar)r   r   r   r   s       r   test_colormapr8   %   s:      !JA!NN1Qq'LLNr   streamplot_linewidthgMbp?c            
          \        4       w  rr#\        P                  ! W#4      p^V,          VP                  4       ,          p\        P
                  ! 4       P                  4       pVP                  WW#R^.RVR7       R# )r"   g      ?k)r2   r1   r3   N)r   r	   hypotr&   r)   figuresubplotsr*   )r   r   r   r   speedlwaxs          r   test_linewidthrB   .   s_      !JA!HHQNE	
UUYY[	 B				 BMM!sAhcRMHr   zstreamplot_masks_and_nans.png)r   r   c                     \        4       w  rr#\        P                  ! VP                  \        R 7      p^VR&   \        P
                  VR&   \        P                  P                  W$R7      p\        P                  ! 4       P                  4       p\        P                  ! RR7      ;_uu_ 4        VP                  WW#V\        P                  P                  R7       RRR4       R#   + '       g   i     R# ; i))dtype)maskignore)invalid)r1   r4   N):(   <   N:P   x   N):N   N:NrH   N)r   r	   zerosshapeboolnanmaarrayr)   r=   r>   errstater*   r5   Blues)r   r   r   r   rE   rA   s         r   test_masks_and_nansrU   8   s      !JA!88AGG4(DD&&AhK
A!A				 B	X	&	&
aA= 
'	&	&	&s   ..C&&C7	zstreamplot_maxlength.pnggS?c                  <   \        4       w  rr#\        P                  ! 4       P                  4       pVP	                  WW#R RR..^^R7       VP                  4       R,          VP                  4       R,          u;8X  d	   ^8X  g   Q h Q hVP                  RRR7       R# )	      $@              ?)	maxlengthr#   r3   r2   Nxlimylimr   Ng\bw
@Ngi@r   r)   r=   r>   r*   get_xlimget_ylimsetr   r   r   r   rA   s        r   test_maxlengthre   E   s     &'JA!				 BMM!B9+q  *;;=b 16Q66666FF*1JFKr   z"streamplot_maxlength_no_broken.pngc                  >   \        4       w  rr#\        P                  ! 4       P                  4       pVP	                  WW#R RR..^^RR7	       VP                  4       R,          VP                  4       R,          u;8X  d	   ^8X  g   Q h Q hVP                  RR	R7       R# )
rW   rX   rY   F)rZ   r#   r3   r2   broken_streamlinesNr[   r   r^   r_   r`   rd   s        r   test_maxlength_no_brokenrh   Q   s     &'JA!				 BMM!B9+qU  D;;=b 16Q66666FF*1JFKr   zstreamplot_direction.pngg㥛 ?c                  `    \        4       w  rr#\        P                  ! WW#R RRR..^^R7	       R# )backwardrY   rX   )integration_directionrZ   r#   r3   r2   N)r   r)   r*   )r   r   r   r   s       r   test_directionrl   ]   s2     &'JA!NN1Z b	{+r   c                     \         P                  ! 4       p \        P                  ! R^
^4      p\        P                  ! R^^
4      p\        P                  ! W!4      w  r!\
        P                  ! 4       P                  ^^ 4      V P                  ,           p\         P                  ! W\        P                  ! V4      \        P                  ! V4      VR7       \        V P                  P                  R^R7       R# )r"   )	transform)decimalN)rL            )r)   axesr	   r   r   mtransformsAffine2D	translate	transDatabarbsr   r   r   dataLimbounds)rA   r   r   transs       r   test_streamplot_limitsr~   f   s    	B
BBA
B2A;;qDA  ",,R4r||CEIIaBFF1IrvvayE: bjj//&')r   c                     \         P                  ! R4      p \         P                  ! R4      p\         P                  ! ^
^.^
^..4      p\         P                  ! ^
^
.^^..4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W#W4       RRR4       \         P                  ! ^
^.^
^..4      p\         P                  ! ^
^
.^^..4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W#W4       RRR4       \         P                  ! ^
^.^
^..4      p\         P                  ! ^
^
.^^..4      p\        P                  ! W#W4       \         P                  ! ^ ^
.4      p\         P                  ! ^ ^
...4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W#W4       RRR4       \         P                  ! R	4      p \         P                  ! R	4      p\         P                  ! . R
O4      p\         P                  ! . RO4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W#W4       RRR4       \         P                  ! . RO4      p\         P                  ! . RO4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! W#W4       RRR4       R#   + '       g   i     ELh; i  + '       g   i     EL ; i  + '       g   i     ELO; i  + '       g   i     L; i  + '       g   i     R# ; i)   zThe rows of 'x' must be equal)matchNz The columns of 'y' must be equalz$'y' can have at maximum 2 dimensionsz!'y' values must be equally spacedz'y' must be strictly increasing)r   r   r   r   )r   
   rL   )r   r   rr   )r   rL   rH   )r   rL   r   )	r	   onesrM   rR   pytestraises
ValueErrorr)   r*   )uvr   r   s       r   test_streamplot_gridr   t   s\   
A
A 	2r(RH%&A
2r(RH%&A	z)H	I	IqQ" 
J 	2r(RH%&A
2r(RH%&A	z)K	L	LqQ" 
M 	2r(RH%&A
2r(RH%&ANN1 	!RA
Ar7)A	z *8 
9 
9qQ"
9
 	A
A
A
A	z)L	M	MqQ" 
N 	A
A	z)J	K	KqQ" 
L	KE 
J	I	I 
M	L	L
9 
9 
9 
N	M 
L	K	Ks<   	L L
L(*L<M L	L%	(L9	<M	M 	c            
      "   \         P                  ! \        P                  ! ^4      \        P                  ! ^4      \        P                  ! R\        P
                  4      \        P                  ! R\        P
                  4      \        P                  P                  ^^4      R7       \         P                  ! \        ^4      \        ^4      \        P                  P                  ^^4      \        P                  P                  ^^4      4       R# )r   )r1   Nr   )	r)   r*   r	   arangefullrP   randomrandrange r   r   test_streamplot_inputsr      s    NN299Q<1776266*BGGFBFF,C1-/ NN58U1X99>>!Q'1)=?r   )numpyr	   numpy.testingr   r   matplotlib.pyplotpyplotr)   matplotlib.testing.decoratorsr   matplotlib.transforms
transformsrv   r   r   r.   r8   rB   rU   re   rh   rl   r~   r   r   r   r   r   <module>r      sA    3   : + +,$g#W&%&% ,-4w )*GII 23"'3>3> -."'u>L>L 78"'u>L>L -."'u>+>+)+#\?r   