+
     ]i   c                   s~   ^ RI t ^ RIHt ^ RIHtHtHtHtH	t	 ^ RIH
t ^ RIHtHt ^ RIHtHt ^ RIt^ RIHt ^ RIt^ RIt]! R.R7      R 4       tR	 t]! R
.RR7      R 4       tR tR t]! R.RR7      R 4       tR tR tR t ]! R.RRRR7      R 4       t!R t"]! R.RRR7      R 4       t#R t$R t% ! R  R!4      t&R# )"    N)
AsinhScaleAsinhTransformLogTransformInvertedLogTransformSymmetricalLogTransform)AsinhLocatorLogFormatterSciNotation)check_figures_equalimage_comparison)assert_allcloseZpng)Z
extensionsc                 sR   V P                  ^zRRR7      pVP                  R4       VP                  R4       VP                  4       pVP	                  4       pVP                  ^zRRR7      pVP                  W4R7       VP                  RR.VR4       VP                  VRR.R4       R# )iz   logsymlog)yscaleZxscaleg8@)xlimylimZbN)Zadd_subplotZaxvlineZaxhlineget_xlimget_ylimsetplot)Zfig_testZfig_refZax_testr   r   Zax_refs   &&    B/usr/lib64/python3.14/site-packages/matplotlib/tests/test_scale.pytest_log_scalesr      s    ""3uX"FGOODOODDD  U8 DF
JJDJ$
KKtdC(
KKtTlC(    c                  sf   \        ^
^^4      p V P                  4       p\        P                  ! R^R4      pVP	                  V P	                  V4      4      p\        W24       \        P                  V^&   VP	                  V P	                  V4      4      p\        W24       \        P                  P                  V4      pVP	                  V P	                  V4      4      p\        W24       \        P                  P                  V^&   VP	                  V P	                  V4      4      p\        W24       R# )i
         ?Ng      )
r   invertednparangetransform_non_affiner
   ZnanZmaarrayZmasked)ZsltZsltixZout       r   test_symlog_mask_nanr      s     ""a
+C<<>D
		$3A

#
#C$<$<Q$?
@CC 66AaD

#
#C$<$<Q$?
@CC 	AA

#
#C$<$<Q$?
@CC 55<<AaD

#
#C$<$<Q$?
@CCr   zlogit_scales.pngT)remove_textc                  s.   \         P                  ! 4       w  r\        P                  ! . RO4      pRV,          pVP	                  W#4       VP                  R4       VP                  R4       VP                  V P                  P                  4       4      pR# )MbP?g      ?ZlogitTN)r!   g~jth?{Gz?gQ?g?皙?g333333?g?r   g333333?gffffff?g?g?g
ףp=
?gGz?gCl?g+?)
pltsubplotsr   r   r   
set_xscaleZgridZget_tightbboxcanvasZget_renderer)figaxr   yZbbox        r   test_logit_scalesr,   :   sn    llnGC 	 @ 	AAaAGGAMMM'GGDMCJJ3356Dr   c                 s   \         P                  ! ^4      w  r\        P                  ! ^
4      p\        P                  ! ^
4      ^,
          pVP	                  W#4       \
        P                  ! 4       pV P                  VRR7       \
        P                  ! 4       pV P                  VRR7       \
        P                  ! 4       pV P                  VRR7       R# )zIssue #1799Zpdf)ZformatZepsZsvgN)r$   r%   r   r   scatterioZBytesIOZsavefig)r(   r)   r   r*   Zbufr+   r   test_log_scatterr/   K   s    ll1oGC
		"A
		"AJJq
**,CKKEK"
**,CKKEK"
**,CKKEK"r   c                  s    \         P                  ! 4       w  rVP                  R \        P                  ! . RO4      R7       V P
                  P                  4        R# )r   )subsN)   i      )r$   r%   
set_yscaler   r   r'   drawr(   r)        r   test_logscale_subsr7   ^   s6    llnGCMM%bhhy1M2JJOOr   zlogscale_mask.pngc                  s   \         P                  ! ^ ^2R4      p \        P                  ! 4       w  rVP	                  \         P
                  ! V ^,          ) 4      4       VP                  P                  4        VP                  RR7       R# )r    i  r   )r   N)	r   linspacer$   r%   r   expr'   r4   r   )xsr(   r)         r   test_logscale_maskr<   e   sY     
QD	!BllnGCGGBFFBE6NJJOOFF%Fr   c                  s    \         P                  ! 4       w  rR FA  p\        P                  ! \        4      ;_uu_ 4        VP                  VRR7       RRR4       KC  	  R#   + '       g   i     KX  ; i)linearmask)ZfooN)r=   r   r   )r$   r%   pytestraisesZ	TypeErrorr3   r(   r)   scaler;   r   test_extra_kwargs_raiserC   q   sJ    llnGC,]]9%%MM%VM, &% -%%%s   A!!A2c                  s    \         P                  ! 4       w  rVP                  R 4       VP                  VP                  P                  4       ,           P                  4       p\        ^R7      P                  4       pR# )r   )baseN)r$   r%   r3   Z	transAxes	transDatar   r   )r(   r)   ZtformZinverted_transformr   r   test_logscale_invert_transformrF   y   sU    llnGCMM%\\BLL1133==?E &1-668r   c                  s    \         P                  ! 4       w  rVP                  R 4       \        VP                  4       \        \        ^
RR7      4       R# )r   ZclipZnonpositiveN)r$   r%   r3   ZreprrE   r   r5   r6   r   test_logscale_transform_reprrH      s6    llnGCMM%bf	-.r   zlogscale_nonpos_values.pngg{Gz?Zmpl20)r    Ztolstylec                  s   \         P                  P                  R 4       \         P                  P                  \	        R4      R7      p \
        P                  ! ^^4      w  pw  w  r#w  rEVP                  V R^
R7       VP                  R4       VP                  V R^
R7       VP                  RRR7       \         P                  ! ^ ^
R4      p\         P                  ! V) 4      pR^
V,
          ,          \         P                  ! ^V,          4      ,          \         P                  ! V) 4      ,          pVP                  WgV,
          Wx,           4       VP                  R4       \         P                  ! R^4      p	V	^,          p
V	^,          pVP                  WVR	7       VP                  R4       VP                  R4       R
# )i!N,g     @@)Zsize)rangeZbinsr   r>   rG   r"   r#   )yerrN)ii   )r   ZrandomZseedZnormalZintr$   r%   Zhistr3   r   r9   ZcosZfill_betweenZlogspaceZerrorbarr&   )r:   r(   Zax1Zax2Zax3Zax4ZxdataZydataZedatar   r*   rK   s               r   test_logscale_nonpos_valuesrM      sG    IINN8			s3x		(B$'LLA$6!C	!*3jsHHRwRH(NN5HHRwRH(NN5fN-IIaT"EFFE6NEEN266!E'?*2665&>9EUEM5=9NN5
BA	QAa4DLLDL!NN5NN5r   c                  s   \         P                  ! 4       w  rVP                  \        ^ ^4      \        ^ ^4      4       VP	                  R4       VP                  4       p\        P                  ! \        4      ;_uu_ 4        VP                  ^ R7       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  RR7       RRR4       VP                  R4       VP                  4       p\        P                  ! \        4      ;_uu_ 4        VP                  ^ R7       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lu; i  + '       g   i     R# ; i)r    r   )ZleftN)Zright)Zbottom)ZtoprL   )r$   r%   r-   rJ   r&   r   r?   ZwarnsZUserWarningset_xlimr3   r   Zset_ylim)r(   r)   Zoriginal_xlimZoriginal_ylimr   r   test_invalid_log_limsrO      s   llnGCJJuQ{E!QK(MM%KKMM	k	"	"
 
# 
k	"	"
" 
# MM%KKMM	k	"	"
1 
# 
k	"	"
 
#	" 
#	" 
#	" 
#	" 
#	"	"s0   E6>F	FF/6F		F	F,	/G 	zfunction_scales.png)r    rI   c                  s    R  p R p\         P                  ! 4       w  r#\        P                  ! ^R4      pVP	                  WD4       VP                  RW3R7       VP                  ^R4       R# )c                 s    V ^,          # )r1    r      &r   inverseZ$test_function_scale.<locals>.inverse   s    !tr   c                 s    V R,          # )i   r   rP   rQ   rR   r   forwardZ$test_function_scale.<locals>.forward   s    3xr   i  Zfunction)Z	functionsN)r$   r%   r   r   r   r&   rN   )rS   rT   r(   r)   r   r+   r   test_function_scalerU      sW     llnGC
		!TAGGAMMM*(:M;KK4r   c                  s    \         P                  ! 4       w  r\        P                  ! R R7      pVP	                  V4       \        P                  ! R R7      pVP                  V4       R # )Naxis)r$   r%   mscaleLogScaler&   r3   rA   r;   r   test_pass_scalerZ      sC    llnGCOO&EMM%OO&EMM%r   c                  sb    \         P                  ! R ^
R7      p \        P                  ! V 4      pR# )r   rW   rD   N)rX   rY   copyZdeepcopy)ZscZsc2r6   r   test_scale_deepcopyr]      s     	c	+B
--
Cr   c                   s>   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )TestAsinhScalec                sd   R p\         P                  ! R^2^d4      p\        V4      pVP                  4       pVP                  4       pVP	                  V4      pVP	                  V4      p\        Wr4       VP	                  V4      p\        W\         P                  ! W!,          4      ,          4       R# )g      1@Ni)r   r8   r   r   r   r
   Zarcsinh)	selfZa0ZarT   rS   ZinvinvZ	a_forwardZ
a_invertedZa_invinvs	   &        r   test_transformsZTestAsinhScale.test_transforms   s    KKR% $""$!!#003	11)<

&..q1rzz!&'9"9:r   c                sn    \         P                  ! 4       w  r\        R RR7      pVP                  4       pR # )Ng      7@rW   Zlinear_width)r$   r%   r   Zget_transform)r_   r(   r)   ZsZtx   &    r   	test_initZTestAsinhScale.test_init   s)    ,,.Dt4
 __r   c                sj    \         P                  ! 4       w  r\        R ^R7      p\        R ^RR7      pR # )Nr[   )rW   rD   r0   )r1   r2   )r$   r%   r   )r_   r(   r)   Zs3s7rb   r   test_base_initZTestAsinhScale.test_base_init   s+    ,,.T* T7r   c                s     ! R  R4      pV! 4       p\        V^ R7      pVP                  V4       V! 4       p\        V^R7      pVP                  V4       R# )c                   s2   a  ] tR tRt o R tR tR tRtV tR# )-TestAsinhScale.test_fmtloc.<locals>.DummyAxisi
  c                s    / V n         R # )Nfields)r_   rR   r   __init__Z6TestAsinhScale.test_fmtloc.<locals>.DummyAxis.__init__  s	     r   c                s>    V P                   P                  ! R/ VB  R # )NrP   )rh   Zupdate)r_   Zkwargss   &,r   r   Z1TestAsinhScale.test_fmtloc.<locals>.DummyAxis.set  s    "",V,r   c                s"    WP                   R &   R# )Zmajor_formatterNrg   )r_   Zfs   &&r   set_major_formatterZATestAsinhScale.test_fmtloc.<locals>.DummyAxis.set_major_formatter  s    12-.r   rg   N)	__name__
__module____qualname____firstlineno__ri   r   rj   __static_attributes____classdictcell__Z__classdict__   @r   	DummyAxisrf   
  s     !-3 3r   rs   r[   N)r   Z#set_default_locators_and_formatters)r_   rs   Zax0s0Zax5rd   s   &     r   test_fmtlocZTestAsinhScale.test_fmtloc	  sR    	3 	3 kSq)
..s3 kSq)
..s3r   c                s   \         P                  ! 4       w  r\        P                  ! \        4      ;_uu_ 4        \        R ^ R7       R R R 4       \        P                  ! \        4      ;_uu_ 4        \        R RR7       R R R 4       \        R R7      p\        R RR7      pR #   + '       g   i     Lc; i  + '       g   i     L>; i)Nra   rV   g      @rL   )r$   r%   r?   r@   Z
ValueErrorr   )r_   r(   r)   rt   Zs1rb   r   test_bad_scaleZTestAsinhScale.test_bad_scale  sq    ,,.]]:&&Dq1 ']]:&&Dr2 'T$T4 '&&&s   B#2B6#B3	6C	rP   N)rk   rl   rm   rn   r`   rc   re   ru   rv   ro   rp   rq   rr   r   r^   r^      s#     ;
1	"3,5 5r   r^   )'r\   Zmatplotlib.pyplotZpyplotr$   Zmatplotlib.scaler   r   r   r   r   rB   rX   Zmatplotlib.tickerr   r   Zmatplotlib.testing.decoratorsr   r	   Znumpyr   Znumpy.testingr
   r.   r?   r   r   r,   r/   r7   r<   rC   rF   rH   rM   rO   rU   rZ   r]   r^   rP   r   r   <module>rw      s      " C O  ) 	  (	) )	) 6 %&D9  :  #& &'T: ;-	(/ /0"G==2*0 ()t7K L )/E5 E5r   