+
     ]ic  c                   sn   ^ 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                  s    \         P                  R^R1R^R13,          w  rRV^,          ,
          V ,           p^V,           V ^,          ,
          pWW#3# )   y              Y@y              i@ii)npZmgrid)YXUV       G/usr/lib64/python3.14/site-packages/matplotlib/tests/test_streamplot.pyvelocity_fieldr   	   sO    88BqIr!Dy()DA
QT	AA	A1A:    c                  s   \         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   Zar   r             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   Zstreamplot_startpointsTZmpl20Zpng)remove_textstyleZ
extensionsc                  s   \        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_pointsZokN)r   r   r   r   ZminmaxZcolumn_stackZravelplt
streamplotZplot)r   r   r   r   Zstart_xZstart_yr   r   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   Ztolc                  s    \        4       w  rr#\        P                  ! WW#VR ^\        P                  P                  R7       \        P
                  ! 4        R# )g333333?)colordensity	linewidthcmapN)r   r   r   cmZautumnZcolorbar)r   r   r   r   r	   r
   test_colormapr"   %   s:      !JA!NN1Qq'LLNr   Zstreamplot_linewidthgMbp?c            
      s    \        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      ?Zk)r   r   r   N)r   r   Zhypotr   r   figuresubplotsr   )r   r   r   r   ZspeedZlwaxr   r
   test_linewidthr&   .   s_      !JA!HHQNE	
UUYY[	 B				 BMM!sAhcRMHr   zstreamplot_masks_and_nans.png)r   r   c                  s   \        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))Zdtype)maskZignore)Zinvalid)r   r    N):(   i<   N:iP   ix   N):N   N:Nr(   N)r   r   zerosZshapeZboolnanZmaarrayr   r#   r$   Zerrstater   r!   ZBlues)r   r   r   r   r'   r%   s         r
   test_masks_and_nansr-   8   s      !JA!88AGG4(DD&&AhK
A!A				 B	X	&	&
aA= 
'	&	&	&s   ..C&&C7	zstreamplot_maxlength.pnggS?c                  s    \        4       w  rr#\        P                  ! 4       P                  4       pVP	                  WW#R RR..^^R7       VP                  RRR7       R# )      $@              ?)	maxlengthr   r   r   NZxlimZylimNg\bw
@Ngi@r   r   r#   r$   r   Zsetr   r   r   r   r%           r
   test_maxlengthr8   E   s\     &'JA!				 BMM!B9+q  * FF*1JFKr   z"streamplot_maxlength_no_broken.pngc                  s    \        4       w  rr#\        P                  ! 4       P                  4       pVP	                  WW#R RR..^^RR7	       VP                  RRR7       R# )	r.   r/   r0   F)r1   r   r   r   Zbroken_streamlinesNr2   r3   r4   r5   r6   r7   r
   test_maxlength_no_brokenr9   Q   s_     &'JA!				 BMM!B9+qU  D FF*1JFKr   zstreamplot_direction.pngg㥛 ?c                  s`    \        4       w  rr#\        P                  ! WW#R RRR..^^R7	       R# )Zbackwardr0   r/   )Zintegration_directionr1   r   r   r   N)r   r   r   )r   r   r   r   r	   r
   test_directionr:   ]   s2     &'JA!NN1Z b	{+r   c                  s   \         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   )Z	transform)ZdecimalNii)r)      i   i   )r   Zaxesr   r   r   mtransformsZAffine2DZ	translateZ	transDataZbarbsr   r   r   ZdataLimZbounds)r%   r   r   Ztransr	   r
   test_streamplot_limitsr=   f   s    	B
BBA
B2A;;qDA  ",,R4r||CEIIaBFF1IrvvayE: bjj//&')r   c                  s   \         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)Z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    
   r)   )r    r@   r;   )r    r)   r(   )r    r)   r@   )	r   Zonesr*   r,   pytestZraisesZ
ValueErrorr   r   )ZuZvr   r   r	   r
   test_streamplot_gridrB   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            
      s"   \         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   )r   Nr?   )	r   r   r   ZarangeZfullr+   ZrandomZrandZrange r   r
   test_streamplot_inputsrD      s    NN299Q<1776266*BGGFBFF,C1-/ NN58U1X99>>!Q'1)=?r   )Znumpyr   Znumpy.testingr   rA   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.transformsZ
transformsr<   r   r   r   r"   r&   r-   r8   r9   r:   r=   rB   rD   rC   r   r
   <module>rE      sA    3   : + +,$g#W&%&% ,-4w )*GII 23"'3>3> -."'u>L>L 78"'u>L>L -."'u>+>+)+#\?r   