Ë
    ¨ehÛ   ã                   óv  — d dl Z d dlmZ d dlmZmZmZmZm	Z	 d dlm
Z d dlmZmZ d dlmZmZ d dlZd dlmZ d dlZd dlZ e«       d„ «       Zd„ Z edgd	¬
«      d„ «       Zd„ Zd„ Z edgd	¬
«      d„ «       Zd„ Zd„ Zd„ Z  edgd	dd¬«      d„ «       Z!d„ Z" edgd	d¬«      d„ «       Z#d„ Z$d„ Z% G d„ d«      Z&y) é    N)Ú
AsinhScaleÚAsinhTransformÚLogTransformÚInvertedLogTransformÚSymmetricalLogTransform)ÚAsinhLocatorÚLogFormatterSciNotation)Úcheck_figures_equalÚimage_comparison)Úassert_allclosec                 óR  — | j                  ddd¬«      }|j                  d«       |j                  d«       |j                  «       }|j	                  «       }|j                  ddd¬«      }|j                  ||¬«       |j                  ddg|d«       |j                  |ddgd«       y )Néz   ÚlogÚsymlog)ÚyscaleÚxscalegš™™™™8@)ÚxlimÚylimÚb)Úadd_subplotÚaxvlineÚaxhlineÚget_xlimÚget_ylimÚsetÚplot)Úfig_testÚfig_refÚax_testr   r   Úax_refs         úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_scale.pyÚtest_log_scalesr"      sœ   € à×"Ñ" 3¨u¸XÐ"ÓF€GØ‡O�O�DÔØ‡O�O�DÔØ×ÑÓ€DØ×ÑÓ€DØ× Ñ  ¨U¸8Ð ÓD€FØ
‡J�J�D˜t€JÔ$Ø
‡K�K��t�˜d CÔ(Ø
‡K�K��t˜T�l CÕ(ó    c                  ó*  — t        ddd«      } | j                  «       }t        j                  ddd«      }|j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚t        j                  |d<   |j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚t        j                  j                  |«      }|j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚t        j                  j                  |d<   |j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚y )	Né
   é   é   g      ø¿é   ç      à?é   é   )r   ÚinvertedÚnpÚarangeÚtransform_non_affiner   ÚtypeÚnanÚmaÚarrayÚmasked)ÚsltÚsltiÚxÚouts       r!   Útest_symlog_mask_nanr9      sJ  € ô " " a¨Ó
+€CØ�<‰<‹>€Dä
�	‰	�$˜˜3Ó€AØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÐä�6‰6€A€a�DØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÐä
�‰�‰�A‹€AØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÐä�5‰5�<‰<€A€a�DØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÑr#   zlogit_scales.pngT)Úremove_textc                  ó¨  — t        j                  «       \  } }t        j                  g d¢«      }d|z  }|j	                  ||«       |j                  d«       |j                  d«       |j                  | j                  j                  «       «      }t        j                  |j                  «      sJ ‚t        j                  |j                  «      sJ ‚y )N)gü©ñÒMbP?gú~j¼t“h?ç{®Gáz„?g¸…ëQ¸ž?gš™™™™™¹?çš™™™™™É?g333333Ó?gš™™™™™Ù?r)   g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?g
×£p=
ï?g®Gáz®ï?g�•C‹lçï?g+‡ÙÎ÷ï?g      ð?ÚlogitT)ÚpltÚsubplotsr-   r3   r   Ú
set_xscaleÚgridÚget_tightbboxÚcanvasÚget_rendererÚisfiniteÚx0Úy0)ÚfigÚaxr7   ÚyÚbboxs        r!   Útest_logit_scalesrM   :   sž   € ä�l‰l‹n�G€Cˆô 	�‰ò @ó 	A€Aàˆa‰€Aà‡G�GˆAˆq„MØ‡M�M�'ÔØ‡G�GˆD„MØ×Ñ˜CŸJ™J×3Ñ3Ó5Ó6€DÜ�;‰;�t—w‘wÔÐÐÜ�;‰;�t—w‘wÔÐÑr#   c                  óœ  — t        j                  d«      \  } }t        j                  d«      }t        j                  d«      dz
  }|j	                  ||«       t        j                  «       }| j                  |d¬«       t        j                  «       }| j                  |d¬«       t        j                  «       }| j                  |d¬«       y)zIssue #1799r'   r%   Úpdf)ÚformatÚepsÚsvgN)r?   r@   r-   r.   ÚscatterÚioÚBytesIOÚsavefig)rI   rJ   r7   rK   Úbufs        r!   Útest_log_scatterrX   K   s‘   € ä�l‰l˜1‹o�G€Cˆä
�	‰	�"‹€AÜ
�	‰	�"‹˜Ñ€Aà‡J�Jˆq�!Ôä
�*‰*‹,€CØ‡K�K�˜E€KÔ"ä
�*‰*‹,€CØ‡K�K�˜E€KÔ"ä
�*‰*‹,€CØ‡K�K�˜E€KÕ"r#   c                  ó¶   — t        j                  «       \  } }|j                  dt        j                  g d¢«      ¬«       | j
                  j                  «        y )Nr   )r&   r+   r*   )Úsubs)r?   r@   Ú
set_yscaler-   r3   rD   Údraw©rI   rJ   s     r!   Útest_logscale_subsr^   ^   s8   € Ü�l‰l‹n�G€CˆØ‡M�M�%œbŸh™h¢yÓ1€MÔ2à‡J�J‡O�OÕr#   zlogscale_mask.pngc                  ó  — t        j                  ddd«      } t        j                  «       \  }}|j	                  t        j
                  | dz   «      «       |j                  j                  «        |j                  d¬«       y )Nr   é2   ié  r&   r   )r   )	r-   Úlinspacer?   r@   r   ÚexprD   r\   r   )ÚxsrI   rJ   s      r!   Útest_logscale_maskrd   e   s[   € ô 
�‰�Q˜˜DÓ	!€Bä�l‰l‹n�G€CˆØ‡G�GŒB�F‰F�B˜‘E�6‹NÔØ‡J�J‡O�OÔØ‡F�F�%€FÕr#   c                  óÂ   — t        j                  «       \  } }dD ]7  }t        j                  t        «      5  |j                  |d¬«       d d d «       Œ9 y # 1 sw Y   ŒDxY w)N)Úlinearr   r   Úmask)Úfoo)r?   r@   ÚpytestÚraisesÚ	TypeErrorr[   ©rI   rJ   Úscales      r!   Útest_extra_kwargs_raisern   q   sV   € Ü�l‰l‹n�G€Cˆà,ò -ˆÜ�]‰]œ9Ó%ñ 	-Ø�M‰M˜% VˆMÔ,÷	-ð 	-ñ-÷	-ð 	-ús   ¶AÁA	c                  ó8  — t        j                  «       \  } }|j                  d«       |j                  |j                  j                  «       z   j                  «       }t        d¬«      j                  «       }t        |t        «      sJ ‚|j                  dk(  sJ ‚y )Nr   r&   )Úbase)
r?   r@   r[   Ú	transAxesÚ	transDatar,   r   Ú
isinstancer   rp   )rI   rJ   ÚtformÚinverted_transforms       r!   Útest_logscale_invert_transformrv   y   s}   € Ü�l‰l‹n�G€CˆØ‡M�M�%Ôà�\‰\˜BŸL™L×1Ñ1Ó3Ñ3×=Ñ=Ó?€Eô &¨1Ô-×6Ñ6Ó8ÐÜÐ(Ô*>Ô?Ð?Ð?Ø×"Ñ" aÒ'Ð'Ñ'r#   c                  óª   — t        j                  «       \  } }|j                  d«       t        |j                  «       t        t        dd¬«      «       y )Nr   r%   Úclip©Únonpositive)r?   r@   r[   Úreprrr   r   r]   s     r!   Útest_logscale_transform_reprr|   …   s8   € Ü�l‰l‹n�G€CˆØ‡M�M�%ÔÜˆ�‰ÔÜŒ�b fÔ	-Õ.r#   zlogscale_nonpos_values.pngg{®Gáz”?Úmpl20)r:   ÚtolÚstylec                  ó:  — t         j                  j                  d«       t         j                  j                  t	        d«      ¬«      } t        j                  dd«      \  }\  \  }}\  }}|j                  | dd¬«       |j                  d«       |j                  | dd¬«       |j                  dd	¬
«       t        j                  ddd«      }t        j                  | «      }dd|z
  z  t        j                  d|z  «      z  t        j                  | «      z  }|j                  |||z
  ||z   «       |j                  d«       t        j                  dd«      }	|	dz  }
|	dz  }|j                  |	|
|¬«       |j                  d«       |j                  d«       y )Ni!N,g     @�@)Úsizer&   )éûÿÿÿr(   r%   )ÚrangeÚbinsr   rg   ry   r   r<   r=   r(   éÿÿÿÿr'   r+   )Úyerr)r-   ÚrandomÚseedÚnormalÚintr?   r@   Úhistr[   r.   rb   ÚcosÚfill_betweenÚlogspaceÚerrorbarrA   )rc   rI   Úax1Úax2Úax3Úax4ÚxdataÚydataÚedatar7   rK   r†   s               r!   Útest_logscale_nonpos_valuesr—   Œ   sQ  € ô ‡I�I‡N�N�8ÔÜ	�‰×	Ñ	œs 3›xÐ	Ó	(€BÜ$'§L¡L°°AÓ$6Ñ!€CÑ	!‰*ˆ3�‘j�s˜CØ‡H�HˆR�w R€HÔ(Ø‡N�N�5ÔØ‡H�HˆR�w R€HÔ(Ø‡N�N�5 f€NÔ-ä�I‰I�a˜˜TÓ"€EÜ�F‰F�E�6‹N€EØ��E‘‰Nœ2Ÿ6™6 ! E¡'›?Ñ*¬2¯6©6°5°&«>Ñ9€Eà×Ñ�U˜E E™M¨5°5©=Ô9Ø‡N�N�5Ôä
�‰�B˜Ó€AØ	ˆQ‰€AØˆa‰4€DØ‡L�L��A˜D€LÔ!à‡N�N�5ÔØ‡N�N�5Õr#   c                  ó¬  — t        j                  «       \  } }|j                  t        dd«      t        dd«      «       |j	                  d«       |j                  «       }t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚|j                  d«       |j                  «       }t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒßxY w# 1 sw Y   Œ�xY w# 1 sw Y   ŒDxY w)	Nr   r*   r   )Úleftr…   )Úright)Úbottom)Útop)r?   r@   rS   rƒ   rA   r   ri   ÚwarnsÚUserWarningÚset_xlimr[   r   Úset_ylim)rI   rJ   Úoriginal_xlimÚoriginal_ylims       r!   Útest_invalid_log_limsr£   §   se  € ä�l‰l‹n�G€CˆØ‡J�JŒu�Q˜‹{œE ! Q›KÔ(à‡M�M�%ÔØ—K‘K“M€MÜ	�‰”kÓ	"ñ Ø
�‰˜ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ð)Ü	�‰”kÓ	"ñ Ø
�‰˜"ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ð)à‡M�M�%ÔØ—K‘K“M€MÜ	�‰”kÓ	"ñ Ø
�‰˜1ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ð)Ü	�‰”kÓ	"ñ Ø
�‰˜ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ñ)÷ñ ú÷ð ú÷ð ú÷ð ús0   Á8F%ÃF2Ä+F>Å4G
Æ%F/Æ2F;Æ>GÇ
Gzfunction_scales.png)r:   r   c                  óÜ   — d„ } d„ }t        j                  «       \  }}t        j                  dd«      }|j	                  ||«       |j                  d|| f¬«       |j                  dd«       y )Nc                 ó   — | dz  S )Nr&   © ©r7   s    r!   Úinversez$test_function_scale.<locals>.inverseÁ   s   € Ø�!‰tˆr#   c                 ó   — | dz  S )Nr)   r¦   r§   s    r!   Úforwardz$test_function_scale.<locals>.forwardÄ   s   € Ø�3‰xˆr#   r'   iè  Úfunction)Ú	functions)r?   r@   r-   r.   r   rA   rŸ   )r¨   rª   rI   rJ   r7   s        r!   Útest_function_scaler­   ¿   s]   € òòô �l‰l‹n�G€Cˆä
�	‰	�!�TÓ€Aà‡G�GˆAˆq„MØ‡M�M�*¨°'Ð(:€MÔ;Ø‡K�K��4Õr#   c                  óJ  — t        j                  «       \  } }t        j                  d ¬«      }|j	                  |«       t        j                  d ¬«      }|j                  |«       |j                  j                  «       dk(  sJ ‚|j                  j                  «       dk(  sJ ‚y )N©Úaxisr   )	r?   r@   ÚmscaleÚLogScalerA   r[   ÚxaxisÚ	get_scaleÚyaxisrl   s      r!   Útest_pass_scaler¶   Ð   s{   € ä�l‰l‹n�G€CˆÜ�O‰O Ô&€EØ‡M�M�%ÔÜ�O‰O Ô&€EØ‡M�M�%ÔØ�8‰8×ÑÓ 5Ò(Ð(Ð(Ø�8‰8×ÑÓ 5Ò(Ð(Ñ(r#   c                  óú   — t        j                  dd¬«      } t        j                  | «      }t	        | j                  «       «      t	        |j                  «       «      k(  sJ ‚| j                  |j                  usJ ‚y )Nr7   r%   ©r°   rp   )r±   r²   ÚcopyÚdeepcopyÚstrÚget_transformÚ
_transform)ÚscÚsc2s     r!   Útest_scale_deepcopyrÀ   Û   s`   € Ü	�‰˜c¨Ô	+€BÜ
�-‰-˜Ó
€CÜˆr×ÑÓ!Ó"¤c¨#×*;Ñ*;Ó*=Ó&>Ò>Ð>Ð>Ø�=‰= §¡Ñ.Ð.Ñ.r#   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestAsinhScalec                 óT  — d}t        j                  ddd«      }t        |«      }|j                  «       }|j                  «       }|j	                  |«      }|j	                  |«      }t        ||«       |j	                  |«      }t        ||t        j                  ||z  «      z  «       y )Ng      1@iÎÿÿÿr`   éd   )r-   ra   r   r,   r/   r   Úarcsinh)	ÚselfÚa0Úarª   r¨   ÚinvinvÚ	a_forwardÚ
a_invertedÚa_invinvs	            r!   Útest_transformszTestAsinhScale.test_transformsã   s•   € ØˆÜ�K‰K˜˜R Ó%ˆä  Ó$ˆØ×"Ñ"Ó$ˆØ×!Ñ!Ó#ˆà×0Ñ0°Ó3ˆ	Ø×1Ñ1°)Ó<ˆ
Ü˜
 AÔ&à×.Ñ.¨qÓ1ˆÜ˜ "¤r§z¡z°!°b±&Ó'9Ñ"9Õ:r#   c                 ó,  — t        j                  «       \  }}t        d d¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  «       }t        |t        «      sJ ‚|j                  |j                  k(  sJ ‚y )Ng      7@©r°   Úlinear_widthé   r%   )r&   r(   )	r?   r@   r   rÐ   Ú_baseÚ_subsr¼   rs   r   )rÆ   rI   rJ   ÚsÚtxs        r!   Ú	test_initzTestAsinhScale.test_initò   sƒ   € Ü—,‘,“.‰ˆˆRä˜D¨tÔ4ˆØ�~‰~ Ò#Ð#Ð#Ø�w‰w˜"Š}Ðˆ}Ø�w‰w˜&Ò Ð Ð à�_‰_ÓˆÜ˜"œnÔ-Ð-Ð-Ø�‰ !§.¡.Ò0Ð0Ñ0r#   c                 óð   — t        j                  «       \  }}t        d d¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        d dd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )Nr+   r¸   )r&   é   )r&   r*   )r°   rp   rZ   )r?   r@   r   rÒ   rÓ   )rÆ   rI   rJ   Ús3Ús7s        r!   Útest_base_initzTestAsinhScale.test_base_initþ   so   € Ü—,‘,“.‰ˆˆRä˜T¨Ô*ˆØ�x‰x˜1Š}Ðˆ}Ø�x‰x˜4ÒÐÐä˜T¨°Ô7ˆØ�x‰x˜1Š}Ðˆ}Ø�x‰x˜6Ò!Ð!Ñ!r#   c                 ó¤  —  G d„ d«      } |«       }t        |d¬«      }|j                  |«       t        |j                  d   t        «      sJ ‚t        |j                  d   t
        «      sJ ‚ |«       }t        |d¬«      }|j                  |«       t        |j                  d   t        «      sJ ‚t        |j                  d   t        «      sJ ‚y )Nc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú-TestAsinhScale.test_fmtloc.<locals>.DummyAxisc                 ó   — i | _         y )N©Úfields)rÆ   s    r!   Ú__init__z6TestAsinhScale.test_fmtloc.<locals>.DummyAxis.__init__  s	   € Ø �•r#   c                 ó<   —  | j                   j                  di |¤Ž y )Nr¦   )rá   Úupdate)rÆ   Úkwargss     r!   r   z1TestAsinhScale.test_fmtloc.<locals>.DummyAxis.set  s   € Ø"�—‘×"Ñ"Ñ, VÓ,r#   c                 ó"   — || j                   d<   y )NÚmajor_formatterrà   )rÆ   Úfs     r!   Úset_major_formatterzATestAsinhScale.test_fmtloc.<locals>.DummyAxis.set_major_formatter  s   € Ø12�—‘Ð-Ò.r#   N)Ú__name__Ú
__module__Ú__qualname__râ   r   ré   r¦   r#   r!   Ú	DummyAxisrÞ   
  s   „ ò!ò-ó3r#   rí   r   r¸   Úmajor_locatorrç   r(   )r   Ú#set_default_locators_and_formattersrs   rá   r   r»   r	   )rÆ   rí   Úax0Ús0Úax5rÚ   s         r!   Útest_fmtloczTestAsinhScale.test_fmtloc	  s½   € ÷	3ñ 	3ñ ‹kˆÜ˜S qÔ)ˆØ
×.Ñ.¨sÔ3Ü˜#Ÿ*™* _Ñ5´|ÔDÐDÐDÜ˜#Ÿ*™*Ð%6Ñ7¼Ô=Ð=Ð=á‹kˆÜ˜S qÔ)ˆØ
×.Ñ.¨sÔ3Ü˜#Ÿ*™* _Ñ5´|ÔDÐDÐDÜ˜#Ÿ*™*Ð%6Ñ7Ü1ô3ð 	3ñ 3r#   c                 óP  — t        j                  «       \  }}t        j                  t        «      5  t        d d¬«       d d d «       t        j                  t        «      5  t        d d¬«       d d d «       t        d ¬«      }t        d d¬«      }y # 1 sw Y   ŒRxY w# 1 sw Y   Œ/xY w)Nr   rÏ   r…   r¯   g      @)r?   r@   ri   rj   Ú
ValueErrorr   )rÆ   rI   rJ   rñ   Ús1s        r!   Útest_bad_scalezTestAsinhScale.test_bad_scale  s}   € Ü—,‘,“.‰ˆˆRä�]‰]œ:Ó&ñ 	2Ü˜D¨qÕ1÷	2ä�]‰]œ:Ó&ñ 	3Ü˜D¨rÕ2÷	3ä˜TÔ$ˆÜ˜T°Ô4‰÷	2ð 	2ú÷	3ð 	3ús   ±BÁ BÂBÂB%N)rê   rë   rì   rÍ   rÖ   rÛ   ró   r÷   r¦   r#   r!   rÂ   rÂ   â   s   „ ò;ò
1ò	"ò3ó,5r#   rÂ   )'r¹   Úmatplotlib.pyplotÚpyplotr?   Úmatplotlib.scaler   r   r   r   r   rm   r±   Úmatplotlib.tickerr   r	   Úmatplotlib.testing.decoratorsr
   r   Únumpyr-   Únumpy.testingr   rT   ri   r"   r9   rM   rX   r^   rd   rn   rv   r|   r—   r£   r­   r¶   rÀ   rÂ   r¦   r#   r!   ú<module>rÿ      s  ðÛ å ÷õ õ "ß Cß Oã Ý )Û 	Û ñ Óñ	)ó ð	)ò ñ6 Ð%Ð&°DÔ9ñ ó :ð ò #ò&ñ Ð&Ð'°TÔ:ñó ;ðò-ò	(ò/ñ Ð/Ð0Ø"¨°Gô=ñó=ðò2*ñ0 Ð(Ð)°tÀ7ÔKñó Lðò )ò/÷E5ò E5r#   