§
    ‡Ûgžä  ã                   ó¸  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlZd dlZd dlmZ d dlmZ  G d„ d¦  «        Z G d„ d¦  «        Z G d„ d	¦  «        Z G d
„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z  G d„ d¦  «        Z! G d „ d!¦  «        Z" G d"„ d#¦  «        Z# G d$„ d%¦  «        Z$ G d&„ d'¦  «        Z% G d(„ d)¦  «        Z& G d*„ d+¦  «        Z' G d,„ d-¦  «        Z( G d.„ d/¦  «        Z)d0„ Z* G d1„ d2¦  «        Z+d3„ Z,d4„ Z-d5„ Z.d6„ Z/d7„ Z0ej1         2                    d8d9¦  «        d:„ ¦   «         Z3ej1         2                    d;d<d=g ej4        d>¦  «        g¦  «        d?„ ¦   «         Z5ej1         2                    d@g dA¢¦  «        ej6         7                    dB¦  «        dC„ ¦   «         ¦   «         Z8dD„ Z9ej1         2                    dE ej:        dF„ ¦  «         ej;        dG¦  «        f¦  «        dH„ ¦   «         Z<dS )Ié    )ÚnullcontextN)Úassert_almost_equalÚassert_array_equalc            
       óö  — e Zd Zdd ej        g d¢¦  «        fdd ej        g d¢¦  «        fdd ej        g d	¢¦  «        fd
d ej        d¦  «        dz  fdd
 ej        dd¦  «        dz  fgZddd ej        g d¢¦  «        fddd ej        g d¢¦  «        fddg d¢ ej        g d¢¦  «        fgZej	         
                    de¦  «        d„ ¦   «         Zej	         
                    de¦  «        d„ ¦   «         ZdS )ÚTestMaxNLocatoré   éd   )ç      4@g      D@g      N@g      T@ç      Y@çü©ñÒMbP?ç-Cëâ6?)ç        g-Cëâ6*?g-Cëâ6:?ga2U0*©C?g-Cëâ6J?r   ç  4&õkÃç  4&õkC)r   g  4&õküÂr   g  4&õküBr   r   g�œ&q‰5é   gL“oûñg5g�œ&q‰µéûÿÿÿé   çš™™™™™¹¿çš™™™™™ñ?N)éÿÿÿÿr   r   é   çffffffî?)g      Ð¿r   ç      Ð?ç      à?ç      è?ç      ð?é7   )r   ç      ø?é   r   é
   )r   é   é   é-   é<   zvmin, vmax, expectedc                 óx   — t          j        d¬¦  «        }t          |                     ||¦  «        |¦  «         d S )Nr   ©Únbins©ÚmtickerÚMaxNLocatorr   Útick_values)ÚselfÚvminÚvmaxÚexpectedÚlocs        úR/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_ticker.pyÚ
test_basiczTestMaxNLocator.test_basic   s9   € åÔ!¨Ð*Ñ*Ô*ˆÝ˜CŸOšO¨D°$Ñ7Ô7¸ÑBÔBÐBÐBÐBó    zvmin, vmax, steps, expectedc                 ó|   — t          j        dd|¬¦  «        }t          |                     ||¦  «        |¦  «         d S )Nr   T)r'   ÚintegerÚstepsr(   )r,   r-   r.   r6   r/   r0   s         r1   Útest_integerzTestMaxNLocator.test_integer$   s=   € åÔ!¨°4¸uÐEÑEÔEˆÝ˜CŸOšO¨D°$Ñ7Ô7¸ÑBÔBÐBÐBÐBr3   )Ú__name__Ú
__module__Ú__qualname__ÚnpÚarrayÚarangeÚ
basic_dataÚinteger_dataÚpytestÚmarkÚparametrizer2   r7   © r3   r1   r   r      sz  € € € € € à	ˆS�(�"”(Ð5Ð5Ð5Ñ6Ô6Ð7Ø	�˜˜œÐ!LÐ!LÐ!LÑMÔMÐNØ	��h�b”hÐJÐJÐJÑKÔKÐLØ	
ˆH�i�b”i ‘l”l UÑ*Ð+Ø	�A�y�r”y  QÑ'Ô'¨%Ñ/Ð0ð€Jð 
ˆs�D˜(˜"œ( = = =Ñ1Ô1Ð2Ø	ˆt�T˜8˜2œ8Ð$DÐ$DÐ$DÑEÔEÐFØ	
ˆBÐ"Ð"Ð" H B¤HÐ-@Ð-@Ð-@Ñ$AÔ$AÐBð€Lð „[×ÒÐ3°ZÑ@Ô@ðCð Cñ AÔ@ðCð „[×ÒÐ:¸LÑIÔIðCð Cñ JÔIðCð Cð Cr3   r   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestLinearLocatorc                 ó¤   — t          j        d¬¦  «        }t          j        g d¢¦  «        }t	          |                     dd¦  «        |¦  «         d S )Né   ©Únumticks)çš™™™™™é¿ç333333Ó¿çš™™™™™É?rJ   rL   )r)   ÚLinearLocatorr;   r<   r   r+   ©r,   r0   Ú
test_values      r1   r2   zTestLinearLocator.test_basic+   sO   € ÝÔ#¨QÐ/Ñ/Ô/ˆÝ”XÐ/Ð/Ð/Ñ0Ô0ˆ
Ý˜CŸOšO¨D°#Ñ6Ô6¸
ÑCÔCÐCÐCÐCr3   c                 óš   — t          j        d¬¦  «        }|                     ddg i¬¦  «         |j        dk    sJ ‚|j        dg ik    sJ ‚dS )z 
        Create linear locator with presets={}, numticks=2 and change it to
        something else. See if change was successful. Should not exception.
        r   rH   é   )r   r   )rI   ÚpresetsN)r)   rM   Ú
set_paramsrI   rR   ©r,   r0   s     r1   Útest_set_paramsz!TestLinearLocator.test_set_params0   sa   € õ
 Ô#¨QÐ/Ñ/Ô/ˆØ�Š ¨F°B¨<ˆÑ8Ô8Ð8ØŒ|˜qÒ Ð Ð Ð ØŒ{˜v r˜lÒ*Ð*Ð*Ð*Ð*Ð*r3   N)r8   r9   r:   r2   rU   rC   r3   r1   rE   rE   *   s5   € € € € € ðDð Dð Dð
+ð +ð +ð +ð +r3   rE   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestMultipleLocatorc                 ó¤   — t          j        d¬¦  «        }t          j        g d¢¦  «        }t	          |                     dd¦  «        |¦  «         d S )Nç“V-	@©Úbase)goƒÀÊá"Àç“V-Àg“V-	Àr   rY   ç“V-@goƒÀÊá"@g“V-)@éùÿÿÿr    )r)   ÚMultipleLocatorr;   r<   r   r+   rN   s      r1   r2   zTestMultipleLocator.test_basic<   sY   € ÝÔ%¨5Ð1Ñ1Ô1ˆÝ”Xð .ð .ð .ñ /ô /ˆ
å˜CŸOšO¨B°Ñ3Ô3°ZÑ@Ô@Ð@Ð@Ð@r3   c                 óÖ   — t          j        ddi¦  «        5  t          j        d¬¦  «        }t	          |                     dd¦  «        d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z5
        Test basic behavior of view limits.
        úaxes.autolimit_modeÚdatarY   rZ   r   r   )r   r   N©ÚmplÚ
rc_contextr)   r_   r   Úview_limitsrT   s     r1   Útest_view_limitsz$TestMultipleLocator.test_view_limitsB   sÃ   € õ Œ^Ð2°FÐ;Ñ<Ô<ð 	Að 	AÝÔ)¨uÐ5Ñ5Ô5ˆCÝ §¢°°AÑ 6Ô 6¸Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Aó   —:AÁA"Á%A"c                 óÖ   — t          j        ddi¦  «        5  t          j        d¬¦  «        }t	          |                     dd¦  «        d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	zb
        Test that everything works properly with 'round_numbers' for auto
        limit.
        ra   Úround_numbersrY   rZ   éüÿÿÿé   )r\   r]   Nrc   rT   s     r1   Útest_view_limits_round_numbersz2TestMultipleLocator.test_view_limits_round_numbersJ   sÃ   € õ
 Œ^Ð2°OÐDÑEÔEð 	Ið 	IÝÔ)¨uÐ5Ñ5Ô5ˆCÝ §¢°°AÑ 6Ô 6¸ÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Irh   c                 ó€   — t          j        d¬¦  «        }|                     d¬¦  «         |j        j        dk    sJ ‚dS )z
        Create multiple locator with 0.7 base, and change it to something else.
        See if change was successful.
        çffffffæ?rZ   g333333û?N)r)   r_   rS   Ú_edgeÚstep)r,   Úmults     r1   rU   z#TestMultipleLocator.test_set_paramsS   sF   € õ
 Ô&¨CÐ0Ñ0Ô0ˆØ�Š˜SˆÑ!Ô!Ð!ØŒzŒ #Ò%Ð%Ð%Ð%Ð%Ð%r3   N)r8   r9   r:   r2   rg   rm   rU   rC   r3   r1   rW   rW   ;   sY   € € € € € ðAð Að AðAð Að AðIð Ið Ið&ð &ð &ð &ð &r3   rW   c            	       óh  — e Zd Zd„ ZddgZej                             de¦  «        d„ ¦   «         Zg d¢Z	d„ Z
ej                             de	¦  «        d	„ ¦   «         Zg d
¢Zg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gZ e eee¦  «        ¦  «        Zej                             de¦  «        d„ ¦   «         ZdS )ÚTestAutoMinorLocatorc                 ó  — t          j        ¦   «         \  }}|                     dd¦  «         |                     ¦   «          t	          j        g d¢¦  «        }t          |j                             d¬¦  «        |¦  «         d S )Nr   ç=
×£p=ö?©çš™™™™™©?çš™™™™™¹?g333333Ã?r   ç333333Ó?gffffffÖ?çÍÌÌÌÌÌÜ?r   çš™™™™™á?gÍÌÌÌÌÌä?ro   r   g333333ë?çÍÌÌÌÌÌì?r   çÍÌÌÌÌÌð?r   gffffffò?g      ô?gÍÌÌÌÌÌô?gš™™™™™õ?T©Úminor)	ÚpltÚsubplotsÚset_xlimÚminorticks_onr;   r<   r   ÚxaxisÚget_ticklocs)r,   ÚfigÚaxrO   s       r1   r2   zTestAutoMinorLocator.test_basic^   s‡   € Ý”,‘.”.‰ˆˆRØ
�Š�A�tÑÔÐØ
×ÒÑÔÐÝ”Xð Gð Gð Gñ Hô Hˆ
õ 	˜BœH×1Ò1¸Ð1Ñ=Ô=¸zÑJÔJÐJÐJÐJr3   ©r   r   )r   r   z%nb_majorticks, expected_nb_minorticksc                 óŠ  — t          j        ¦   «         \  }}d} |j        |Ž  |                     t	          j        |d         |d         |¦  «        ¦  «         |                     ¦   «          |j                             t          j
        ¦   «         ¦  «         t          |j                             ¦   «         ¦  «        |k    sJ ‚d S )N)r   r   r   r   )r�   r‚   rƒ   Ú
set_xticksr;   Úlinspacer„   r…   Úset_minor_locatorr)   ÚAutoMinorLocatorÚlenÚget_minorticklocs)r,   Únb_majorticksÚexpected_nb_minorticksr‡   rˆ   Úxlimss         r1   Útest_low_number_of_majorticksz2TestAutoMinorLocator.test_low_number_of_majorticksm   s®   € õ ”,‘.”.‰ˆˆRØˆØˆŒ�UÐÐØ
�Š•b”k %¨¤(¨E°!¬H°mÑDÔDÑEÔEÐEØ
×ÒÑÔÐØ
Œ×"Ò"¥7Ô#;Ñ#=Ô#=Ñ>Ô>Ð>Ý�2”8×-Ò-Ñ/Ô/Ñ0Ô0Ð4JÒJÐJÐJÐJÐJÐJr3   ))r   r   )r   rl   )ç      @r   )r   r   )r    r   c                 óò   — t          j        ddi¦  «        5  d„ | j        D ¦   «         }t          j                             |t          j        ¦   «         j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz_internal.classic_modeFc                 ó   — g | ]
}|d          ‘ŒS ©r   rC   )Ú.0Úxs     r1   ú
<listcomp>zKTestAutoMinorLocator.test_using_all_default_major_steps.<locals>.<listcomp>ƒ   s   € ÐFÐFÐF 1˜!˜Aœ$ÐFÐFÐFr3   )	rd   re   Úmajorstep_minordivisionsr;   ÚtestingÚassert_allcloser)   ÚAutoLocatorÚ_steps)r,   Ú
majorstepss     r1   Ú"test_using_all_default_major_stepsz7TestAutoMinorLocator.test_using_all_default_major_steps�   sÔ   € ÝŒ^Ð5°uÐ=Ñ>Ô>ð 	Eð 	EØFÐF¨Ô(EÐFÑFÔFˆJÝŒJ×&Ò& zÝ'.Ô':Ñ'<Ô'<Ô'CñEô Eð Eð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   —AA,Á,A0Á3A0z&major_step, expected_nb_minordivisionsc                 óX  — t          j        ¦   «         \  }}d|f} |j        |Ž  |                     |¦  «         |                     ¦   «          |j                             t          j        ¦   «         ¦  «         t          |j         
                    ¦   «         ¦  «        dz   }||k    sJ ‚d S ©Nr   r   )r�   r‚   rƒ   r‹   r„   r…   r�   r)   rŽ   r�   r�   )r,   Ú
major_stepÚexpected_nb_minordivisionsr‡   rˆ   r“   Únb_minor_divisionss          r1   Útest_number_of_minor_ticksz/TestAutoMinorLocator.test_number_of_minor_ticks‡   s§   € õ ”,‘.”.‰ˆˆRØ�J�ˆØˆŒ�UÐÐØ
�Š�eÑÔÐØ
×ÒÑÔÐØ
Œ×"Ò"¥7Ô#;Ñ#=Ô#=Ñ>Ô>Ð>Ý  ¤×!;Ò!;Ñ!=Ô!=Ñ>Ô>ÀÑBÐØ!Ð%?Ò?Ð?Ð?Ð?Ð?Ð?r3   ))r   rv   )r   g˜nƒÀÊÁ?)r   ç�Ô�ùÉ;)r   g¦ÖVs†?=)gH¯¼šò×Š¾gIhG|·a¾)gvƒôõ!´>ç�Ûí‚ÚÒ·>)çÍÒÊ”A{¶¾çÁ�v¾À(¸¾)g"s2_Èd­¾glEÕŽfU¹¾rw   )ç{®Gázt?ç{®Gáz„?ç¸…ëQ¸Ž?gš™™™™™™?g¸…ëQ¸ž?gìQ¸…ë¡?g
×£p=
§?rx   g)\�Âõ(¬?g¤p=
×£°?gìQ¸…ë±?g333333³?gÃõ(\�Âµ?g
×£p=
·?gR¸…ëQ¸?gáz®Gáº?ç)\�Âõ(¼?gq=
×£p½?ç      À?g¤p=
×£À?gHáz®GÁ?)gO›
´ã‚;gO›
´ã’;g÷èŽUœ;g#B’¡œ§;g÷èŽU¬;gæÇÌˆ=‡°;g¹nP‹*@µ;g#B’¡œ·;g�Ô�ù¹;ga¼W�²¾;gæÇÌˆ=‡À;g›±mÉxµÁ;g…¯JïÄ;g¹nP‹*@Å;gnXñËenÆ;gØ+3MÜÊÈ;r©   )g›+¡†›„ö<g›+¡†›„=g´àø¤tã=g‚vIhÂ%=g´àø¤tã =g(Í´#=gQu÷.U)=g‚vIhÂ%,=gõ›ÙUö.=gnób]¾K2=g(Í´3=gá7ÎQ5=gU>?åì7=gQu÷.U9=gÈcß¯x½:=g;‰³ Ž==gõ›ÙUö>=)gç*«#&,Š¾g…¦™¬Y€‰¾g#"ˆ5�Ôˆ¾g_eGô|‡¾gý”SÐ'Ñ†¾gœBY[%†¾gØkÂÍ„¾gvƒôõ!„¾gÿû|)vƒ¾gQöØŽ�‚¾gïqÇÄr�¾g�íµ ÷Æ€¾g“É%e½Þ~¾gÐÀw$‡}¾g¸ßˆ‹/|¾g…¦™¬Y€y¾gÁ�v¾À(x¾gý”SÐ'Ñv¾gvƒôõ!t¾g³zê]Êr¾gïqÇÄrq¾gÐÀw$‡m¾gH¯¼šò×j¾gÁ�v¾À(h¾g³zê]Êb¾)g�äÑéL´>g§E–/Üw´>gÀ¦ZMÏ¢´>gØkÂÍ´>g	Ê§¦¨#µ>g!+lÄ›Nµ>g:Œ0âŽyµ>gRíôÿ�¤µ>gƒ¯};húµ>gœBY[%¶>g´qwNP¶>gÍÒÊ”A{¶>gý”SÐ'Ñ¶>göîü¶>g.WÜ'·>gG¸ )R·>gxz)eç§·>rª   )g5m”/G¸¾g©<² Íý·¾gÐTè·¾g«ô`½·¾gxz)eç§·¾gìIGÖm’·¾gÓè‚¸zg·¾gG¸ )R·¾g»‡¾š‡<·¾g¢&ú|”·¾göîü¶¾gŠÅ5_¡æ¶¾gqdqA®»¶¾gå3�²4¦¶¾gY­#»�¶¾)g#"ˆ5�Ô¸¾gò_ÿù¦~¸¾r¬   g�Ûí‚ÚÒ·¾g.WÜ'·¾gý”SÐ'Ñ¶¾r«   gœBY[%¶¾g:Œ0âŽyµ¾g	Ê§¦¨#µ¾gØkÂÍ´¾g§E–/Üw´¾gEÁ„¸Ì³¾gÿû|)v³¾gä<sAC ³¾g³zê]Ê²¾gQöØŽ�²¾g 4PSªÈ±¾gïqÇÄr±¾g¾¯>ÜÝ±¾g\+-eq°¾g+i¤)+°¾gõM7Ü‰Š¯¾g“É%e½Þ®¾gÐÀw$‡­¾zlim, refc                 ó:  — t          j        ¦   «         \  }}|                     ¦   «          |                     dddd¬¦  «         |                     dddd¬¦  «         |                     |¦  «         t          |j                             d¬	¦  «        |¦  «         d S )
NTr€   Úyr   )Ú	linewidthÚmajorÚk)Úcolorr´   r   )r�   r‚   r„   ÚgridÚset_ylimr   Úyaxisr†   )r,   ÚlimÚrefr‡   rˆ   s        r1   Útest_additionalz$TestAutoMinorLocator.test_additional¸   s’   € å”,‘.”.‰ˆˆRà
×ÒÑÔÐØ
�Š��g˜s¨aˆÑ0Ô0Ð0Ø
�Š��g S°AˆÑ6Ô6Ð6Ø
�Š�CÑÔÐå˜BœH×1Ò1¸Ð1Ñ=Ô=¸sÑCÔCÐCÐCÐCr3   N)r8   r9   r:   r2   Úparamsr@   rA   rB   r”   rœ   r¢   r¨   ÚlimitsÚ	referenceÚlistÚzipÚadditional_datar½   rC   r3   r1   rt   rt   ]   s©  € € € € € ðKð Kð Kð 	Øð€Fð
 „[×ÒÐDÀfÑMÔMð	Kð 	Kñ NÔMð	Kð )ð  )ð  )ÐðEð Eð Eð „[×ÒÐEØ5ñ7ô 7ð	@ð 	@ñ7ô 7ð	@ð>ð >ð >€Fð	Bð 	Bð 	Bð	ð 	ð 	ð	'ð 	'ð 	'ð	'ð 	'ð 	'ð	ð 	ð 	ð
	1ð 	1ð 	1ð	Eð 	Eð 	Eð	ð 	ð 	ð/€Ið: �d˜3˜3˜v yÑ1Ô1Ñ2Ô2€Oà„[×Ò˜Z¨Ñ9Ô9ðDð Dñ :Ô9ðDð Dð Dr3   rt   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestLogLocatorc                 óÐ  — t          j        d¬¦  «        }t          j        t          ¦  «        5  |                     dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        }t          |                     dd¦  «        |¦  «         t          j        d¬	¦  «        }t          j        g d
¢¦  «        }t          |                     dd¦  «        |¦  «         d S )Nr   rH   r   éè  )çñhãˆµøä>r   ry   ç      $@ç     @�@ç     jø@g    ÐcAç    eÍÍAr   g     Ûú@r   rZ   )
r   r   ç       @ç      @g       @g      0@g      @@g      P@g      `@g      p@r   r	   )	r)   Ú
LogLocatorr@   ÚraisesÚ
ValueErrorr+   r;   r<   r   rN   s      r1   r2   zTestLogLocator.test_basicÅ   s"  € ÝÔ ¨!Ð,Ñ,Ô,ˆÝŒ]�:Ñ&Ô&ð 	%ð 	%Ø�OŠO˜A˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ ”Xð @ð @ð @ñ Aô Aˆ
õ 	˜CŸOšO¨E°5Ñ9Ô9¸:ÑFÔFÐFåÔ  aÐ(Ñ(Ô(ˆÝ”XÐNÐNÐNÑOÔOˆ
Ý˜CŸOšO¨A¨sÑ3Ô3°ZÑ@Ô@Ð@Ð@Ð@s   ¯AÁAÁAc                 óØ   — t          j        ddi¬¦  «        \  }}|                     d¦  «         |                     dd¦  «         t	          |                     ¦   «         g d¢¦  «         dS )	z<
        Polar axes have a different ticking logic.
        Ú
projectionÚpolar)Ú
subplot_kwÚlogr   r	   )r    r	   rÇ   N)r�   r‚   Ú
set_yscaler¹   r   Ú
get_yticks©r,   r‡   rˆ   s      r1   Útest_polar_axeszTestLogLocator.test_polar_axesÓ   sg   € õ ”,¨<¸Ð*AÐBÑBÔB‰ˆˆRØ
�Š�eÑÔÐØ
�Š�A�sÑÔÐÝ˜2Ÿ=š=™?œ?¨O¨O¨OÑ<Ô<Ð<Ð<Ð<r3   c                 ó4  — t          j        d¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          j        t	          j        dd¦  «        ¬¦  «        }d|                     d	d
¦  «        vsJ ‚d|                     d	d
¦  «        vsJ ‚d S )NÚall©Úsubsr{   r|   )g)\�Âõ(Ü?gq=
×£pÝ?g¸…ëQ¸Þ?r   g¤p=
×£à?gHáz®Gá?gìQ¸…ëá?r   r    r   r}   r
   rÉ   )r)   rÏ   r   r+   r;   r=   rT   s     r1   Útest_switch_to_autolocatorz)TestLogLocator.test_switch_to_autolocatorÜ   s¨   € ÝÔ  eÐ,Ñ,Ô,ˆÝ˜3Ÿ?š?¨4°Ñ6Ô6ØDÐDÐDñ	Fô 	Fð 	Fõ Ô ¥b¤i°°2Ñ&6Ô&6Ð7Ñ7Ô7ˆØ˜#Ÿ/š/¨#¨sÑ3Ô3Ð3Ð3Ð3Ð3Ø˜3Ÿ?š?¨3°Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4r3   c                 óä   — t          j        ¦   «         }|                     dddgd¬¦  «         |j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚t          |j        ¦  «        dgk    sJ ‚dS )zÑ
        Create log locator with default value, base=10.0, subs=[1.0],
        numdecs=4, numticks=15 and change it to something else.
        See if change was successful. Should not raise exception.
        é   rQ   rÍ   rl   )rI   ÚnumdecsrÞ   r[   N)r)   rÏ   rS   rI   râ   Ú_baserÁ   Ú_subsrT   s     r1   rU   zTestLogLocator.test_set_paramså   s„   € õ Ô Ñ"Ô"ˆØ�Š ¨1°C°5¸qˆÑAÔAÐAØŒ|˜qÒ Ð Ð Ð ØŒ{˜aÒÐÐÐØŒy˜AŠ~ˆ~ˆ~ˆ~Ý�C”I‰Œ 3 %Ò'Ð'Ð'Ð'Ð'Ð'r3   N)r8   r9   r:   r2   rÚ   rß   rU   rC   r3   r1   rÅ   rÅ   Ä   sS   € € € € € ðAð Að Að=ð =ð =ð5ð 5ð 5ð(ð (ð (ð (ð (r3   rÅ   c                   ó   — e Zd Zd„ ZdS )ÚTestNullLocatorc                 ó¸   — t          j        ¦   «         }t          j        t          ¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zˆ
        Create null locator, and attempt to call set_params() on it.
        Should not exception, and should raise a warning.
        N)r)   ÚNullLocatorr@   ÚwarnsÚUserWarningrS   rT   s     r1   rU   zTestNullLocator.test_set_paramsô   s–   € õ
 Ô!Ñ#Ô#ˆÝŒ\�+Ñ&Ô&ð 	ð 	Ø�NŠNÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ­AÁAÁAN©r8   r9   r:   rU   rC   r3   r1   ræ   ræ   ó   s#   € € € € € ðð ð ð ð r3   ræ   c                   ó:   — e Zd Zed„ ¦   «         Zed„ ¦   «         ZdS )Ú_LogitHelperc                 óÔ   — d| cxk     rdk     rZn nWd|cxk     rdk     rJn nGt          j        t          j        d| z  dz
  ¦  «         t          j        d|z  dz
  ¦  «         ¦  «        ndS )Nr   r   F)r;   ÚiscloserÖ   )rš   r³   s     r1   rï   z_LogitHelper.iscloseÿ   su   € ð �q�9�9’9�9˜1’9�9�9�9�9  Q  ¢ ¨¢    õ ”
�BœF 1 Q¡3 q¡5™MœM˜>­B¬F°1°Q±3°q±5©M¬M¨>Ñ:Ô:Ð:Ø05ð	7r3   c                 óª  — t          j        | ¦  «        }t          j        |¦  «        }t          j        |dk    ¦  «        rt          j        |dk     ¦  «        sJ ‚t          j        |dk    ¦  «        rt          j        |dk     ¦  «        sJ ‚t          j        d|z  dz
  ¦  «         }t          j        d|z  dz
  ¦  «         }t	          ||¦  «         d S r¤   )r;   r<   rÜ   rÖ   r   )rš   r³   rˆ   ÚayÚlxÚlys         r1   r   z _LogitHelper.assert_almost_equal  s²   € åŒX�a‰[Œ[ˆÝŒX�a‰[Œ[ˆÝŒv�b˜1’f‰~Œ~Ð0¥"¤&¨¨aª¡.¤.Ð0Ð0Ð0ÝŒv�b˜1’f‰~Œ~Ð0¥"¤&¨¨aª¡.¤.Ð0Ð0Ð0ÝŒf�Q�r‘T˜!‘V‰nŒnˆ_ˆÝŒf�Q�r‘T˜!‘V‰nŒnˆ_ˆÝ˜B Ñ#Ô#Ð#Ð#Ð#r3   N)r8   r9   r:   Ústaticmethodrï   r   rC   r3   r1   rí   rí   þ   sH   € € € € € Øð7ð 7ñ „\ð7ð ð$ð $ñ „\ð$ð $ð $r3   rí   c                   óô  — e Zd Zg d¢Zdd ej        dd¦  «        z  z  dd ej        dd¦  «        z  z  dd ej        dd¦  «        z  z  dd ej        dd¦  «        z  z  dd ej        dd¦  «        z  z  dd ej        dd	¦  «        z  z  dd ej        dd
¦  «        z  z  dd ej        dd¦  «        z  z  gZg d¢Zej	         
                    d eee¦  «        ¦  «        d„ ¦   «         Zej	         
                    de¦  «        d„ ¦   «         Zej	         
                    deez   ¦  «        d„ ¦   «         Zej	         
                    d eee¦  «        ¦  «        d„ ¦   «         Zd„ Zg d ej        dd¦  «        z  ¢dd ej        dd¦  «        z  z
  ¢Zej	         
                    dd„  ej        ed¬¦  «        D ¦   «         ¦  «        d„ ¦   «         Zej	         
                    de¦  «        d„ ¦   «         ZdS )ÚTestLogitLocator)©rx   r   )r­   g×£p=
×ï?)gü©ñÒMb@?g–C‹lçûï?©ç-Cëâ6
?g�St$—ÿï?)gñhãˆµøÔ>gŽ;¥ƒõÿï?)g�íµ ÷Æ >gõ…�óþÿï?©gH¯¼šò×j>ge(åÿÿï?)g:Œ0âŽy5>g$ÎPýÿÿï?r   r    rG   rl   r   r   rá   rQ   é	   ))çš™™™™™Ù?g333333ã?)rx   rL   )gš™™™™™é?r   zlims, expected_low_ticksc                 ó¦   — t          g |¢d‘d|z
  ¢¦  «        }t          j        d¬¦  «        }t                                |j        |Ž |¦  «         dS )zR
        Create logit locator with huge number of major, and tests ticks.
        r   r   r	   r&   N)Úsortedr)   ÚLogitLocatorrí   r   r+   )r,   ÚlimsÚexpected_low_ticksÚexpected_ticksr0   s        r1   Útest_basic_majorz!TestLogitLocator.test_basic_major(  sr   € õ  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAñ
ô 
ˆõ Ô"¨Ð-Ñ-Ô-ˆÝ×(Ò(ØˆCŒO˜TÐ"Øñ	
ô 	
ð 	
ð 	
ð 	
r3   r   c                 óB  — t          j        d¬¦  «        }t          j        dg d¢¬¦  «        }dD ]n}|                     |¬¦  «         |                     |¬¦  «          |j        |Ž } |j        |Ž }|j        |j        k    sJ ‚||k                         ¦   «         sJ ‚ŒodS )zj
        When the axis is zoomed, the locator must have the same behavior as
        MaxNLocator.
        r	   r&   )r   r   r   r    )r'   r6   )rl   rQ   é   N)r)   rÿ   r*   rS   r+   ÚshaperÜ   )r,   r   r0   Úmaxn_locr'   ÚticksÚ
maxn_tickss          r1   Útest_maxn_majorz TestLogitLocator.test_maxn_major9  sÇ   € õ Ô"¨Ð-Ñ-Ô-ˆÝÔ&¨S¸¸¸ÐFÑFÔFˆØð 	/ð 	/ˆEØ�NŠN ˆNÑ'Ô'Ð'Ø×Ò eÐÑ,Ô,Ð,Ø#�C”O TÐ*ˆEØ-˜Ô-¨tÐ4ˆJØ”; *Ô"2Ò2Ð2Ð2Ð2Ø˜ZÒ'×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.ð	/ð 	/r3   c                 óD  — t          t          j        t          j        |d         ¦  «        ¦  «         ¦  «        dz  dz   }t	          j        d¬¦  «        }t          |dd¦  «        D ]8}|                     |¬¦  «         t           |j	        |Ž ¦  «        |dz   k    sJ ‚Œ9dS )zB
        Assert logit locator for respecting nbins param.
        r   r   r   r	   r&   r   N)
Úintr;   ÚfloorÚlog10r)   rÿ   ÚrangerS   r�   r+   )r,   r   Úbasic_neededr0   r'   s        r1   Útest_nbins_majorz!TestLogitLocator.test_nbins_majorI  s«   € õ �BœH¥R¤X¨d°1¬gÑ%6Ô%6Ñ7Ô7Ð7Ñ8Ô8¸1Ñ<¸qÑ@ˆÝÔ"¨Ð-Ñ-Ô-ˆÝ˜<¨¨BÑ/Ô/ð 	<ð 	<ˆEØ�NŠN ˆNÑ'Ô'Ð'Ý��s”¨Ð-Ñ.Ô.°%¸!±)Ò;Ð;Ð;Ð;Ð;ð	<ð 	<r3   c                 ó<  — t          g |¢d‘d|z
  ¢¦  «        }t          |¦  «        }t          j        d¬¦  «        }t          j        dd¬¦  «        }t	          |dd¦  «        D ]·}|                     |¬¦  «         |                     |¬¦  «          |j        |Ž } |j        |Ž }	t          |¦  «        t          |¦  «        k    r)t          |¦  «        dz
  d	z  t          |	¦  «        k     sJ ‚Œ‹t                               t          g |¢|	¢¦  «        |¦  «         Œ¸d
S )zt
        In large scale, test the presence of minor,
        and assert no minor when major are subsampled.
        r   r   r	   r&   T)r'   r€   r   r   r   N)	rþ   r�   r)   rÿ   r  rS   r+   rí   r   )
r,   r   r  r  r  r0   Ú	minor_locr'   Úmajor_ticksÚminor_tickss
             r1   Ú
test_minorzTestLogitLocator.test_minorU  sX  € õ  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAñ
ô 
ˆõ ˜>Ñ*Ô*ˆÝÔ"¨Ð-Ñ-Ô-ˆÝÔ(¨s¸$Ð?Ñ?Ô?ˆ	Ý˜<¨¨BÑ/Ô/ð 	Jð 	JˆEØ�NŠN ˆNÑ'Ô'Ð'Ø× Ò  uÐ Ñ-Ô-Ð-Ø)˜#œ/¨4Ð0ˆKØ/˜)Ô/°Ð6ˆKÝ�;ÑÔ¥3 ~Ñ#6Ô#6Ò6Ð6å˜KÑ(Ô(¨1Ñ,°Ñ1µC¸Ñ4DÔ4DÒDÐDÐDÐDÐDõ ×0Ò0ÝÐ7˜[Ð7¨;Ð7Ñ8Ô8¸.ñJô Jð Jð Jð	Jð 	Jr3   c                 ó    — t          j        d¬¦  «        }|j        rJ ‚d|_        |j        sJ ‚|                     d¬¦  «         |j        rJ ‚d S )Nr	   r&   TFr   )r)   rÿ   r€   rS   rT   s     r1   Útest_minor_attrz TestLogitLocator.test_minor_attrr  s`   € ÝÔ"¨Ð-Ñ-Ô-ˆØ”9ÐÐÐØˆŒ	ØŒyÐÐÐØ�Š˜UˆÑ#Ô#Ð#Ø”9ÐÐÐÐÐr3   r•   éýÿÿÿr   c                 ó(   — g | ]\  }}||k    ¯||f‘ŒS rC   rC   )r™   ÚaÚbs      r1   r›   zTestLogitLocator.<listcomp>�  s1   € ð 	
ð 	
ð 	
á��AØ�AŠvˆvð �ˆFàˆvˆvr3   r   )Úrepeatc                 ó„   — t          j        ¦   «         } |j        |Ž }t          |¦  «        t          |¦  «        k    sJ ‚dS )zd
        Create logit locator, and test the nonsingular method for acceptable
        value
        N)r)   rÿ   Únonsingularrþ   )r,   r   r0   Úlims2s       r1   Útest_nonsingular_okz$TestLogitLocator.test_nonsingular_ok  sC   € õ Ô"Ñ$Ô$ˆØ�” Ð&ˆÝ�d‰|Œ|�v e™}œ}Ò,Ð,Ð,Ð,Ð,Ð,r3   Úokvalc                 ó  — t          j        ¦   «         }d|}}|                     ||¦  «        \  }}||k    sJ ‚d|cxk     r|k     sn J ‚|d}}|                     ||¦  «        \  }}||k    sJ ‚||cxk     rdk     sn J ‚dS )zh
        Create logit locator, and test the nonsingular method for non
        acceptable value
        r   r   r   r   N)r)   rÿ   r  )r,   r"  r0   r-   r.   Úvmin2Úvmax2s          r1   Útest_nonsingular_nokz%TestLogitLocator.test_nonsingular_nok�  s¼   € õ Ô"Ñ$Ô$ˆØ˜%ˆdˆØ—’ t¨TÑ2Ô2‰ˆˆuØ˜Š}ˆ}ˆ}ˆ}Ø�5Ð Ð Ò Ð ˜5Ò Ð Ð Ð Ð Ð Ø˜QˆdˆØ—’ t¨TÑ2Ô2‰ˆˆuØ˜Š}ˆ}ˆ}ˆ}Ø�uÐ Ð Ò Ð ˜qÒ Ð Ð Ð Ð Ð Ð Ð r3   N)r8   r9   r:   Úref_basic_limitsr;   r=   Úref_basic_major_ticksÚref_maxn_limitsr@   rA   rB   rÂ   r  r
  r  r  r  Úacceptable_vmin_vmaxÚ	itertoolsÚproductr!  r&  rC   r3   r1   rö   rö     s×  € € € € € ð	ð 	ð 	Ðð 	
ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q ‘?”?Ñ"Ñ#Ø	ˆR�9�2”9˜Q Ñ#Ô#Ñ#Ñ$ð	Ðð GÐFÐF€Oà„[×ÒØ"ØˆÐÐ3Ñ4Ô4ñô ð
ð 
ñ	ô ð
ð „[×Ò˜V _Ñ5Ô5ð/ð /ñ 6Ô5ð/ð „[×Ò˜VÐ%5¸Ñ%GÑHÔHð	<ð 	<ñ IÔHð	<ð „[×ÒØ"ØˆÐÐ3Ñ4Ô4ñô ðJð Jñ	ô ðJð2ð ð ðØ
��”˜2˜qÑ!Ô!Ñ
!ðà
ˆc�Y�R”Y˜r 1Ñ%Ô%Ñ%Ñ
%ðÐð
 „[×ÒØð	
ð 	
à+˜)Ô+Ð,@ÈÐKÑKÔKð	
ñ 	
ô 	
ñô ð-ð -ñô ð-ð „[×Ò˜WÐ&:Ñ;Ô;ð!ð !ñ <Ô;ð!ð !ð !r3   rö   c                   ó   — e Zd Zd„ ZdS )ÚTestFixedLocatorc                 ó”   — t          j        t          dd¦  «        d¬¦  «        }|                     d¬¦  «         |j        dk    sJ ‚dS )z™
        Create fixed locator with 5 nbins, and change it to something else.
        See if change was successful.
        Should not exception.
        r   é   r   r&   rá   N)r)   ÚFixedLocatorr  rS   r'   )r,   Úfixeds     r1   rU   z TestFixedLocator.test_set_params¢  sQ   € õ Ô$¥U¨1¨b¡\¤\¸Ð;Ñ;Ô;ˆØ×Ò˜qÐÑ!Ô!Ð!ØŒ{˜aÒÐÐÐÐÐr3   Nrë   rC   r3   r1   r.  r.  ¡  s#   € € € € € ð ð  ð  ð  ð  r3   r.  c                   ó   — e Zd Zd„ ZdS )ÚTestIndexLocatorc                 ó”   — t          j        dd¬¦  «        }|                     dd¬¦  «         |j        dk    sJ ‚|j        dk    sJ ‚dS )z¢
        Create index locator with 3 base, 4 offset. and change it to something
        else. See if change was successful.
        Should not exception.
        rG   rl   )r[   Úoffsetrá   N)r)   ÚIndexLocatorrS   rã   r6  )r,   Úindexs     r1   rU   z TestIndexLocator.test_set_params®  s^   € õ Ô$¨!°AÐ6Ñ6Ô6ˆØ×Ò˜a¨ÐÑ*Ô*Ð*ØŒ{˜aÒÐÐÐØŒ|˜qÒ Ð Ð Ð Ð Ð r3   Nrë   rC   r3   r1   r4  r4  ­  s#   € € € € € ð	!ð 	!ð 	!ð 	!ð 	!r3   r4  c                   ó   — e Zd Zd„ ZdS )ÚTestSymmetricalLogLocatorc                 ó˜   — t          j        dd¬¦  «        }|                     dgd¬¦  «         |j        dgk    sJ ‚|j        dk    sJ ‚dS )zÅ
        Create symmetrical log locator with default subs =[1.0] numticks = 15,
        and change it to something else.
        See if change was successful.
        Should not exception.
        r    r   )r[   Ú	linthreshrÍ   rQ   )rÞ   rI   N)r)   ÚSymmetricalLogLocatorrS   rä   rI   )r,   Úsyms     r1   rU   z)TestSymmetricalLogLocator.test_set_params»  s_   € õ Ô+°¸qÐAÑAÔAˆØ�Š˜S˜E¨AˆÑ.Ô.Ð.ØŒy˜S˜EÒ!Ð!Ð!Ð!ØŒ|˜qÒ Ð Ð Ð Ð Ð r3   Nrë   rC   r3   r1   r:  r:  º  s#   € € € € € ð
!ð 
!ð 
!ð 
!ð 
!r3   r:  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestAsinhLocatorc                 ó€   — t          j        dd¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )NgX9´Èv¾@é   )Úlinear_widthrI   r    )r)   ÚAsinhLocatorrC  rI   r[   ©r,   Úlctrs     r1   Ú	test_initzTestAsinhLocator.test_initÉ  sQ   € ÝÔ#°ÀÐDÑDÔDˆØÔ  EÒ)Ð)Ð)Ð)ØŒ} Ò"Ð"Ð"Ð"ØŒy˜BŠˆˆˆˆˆr3   c                 ó  — t          j        ddddd¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|                     d¬¦  «         |j        dk    sJ ‚|                     d ¦  «         |j        dk    sJ ‚|                     d	¬
¦  «         |j        d	k    sJ ‚|                     d ¬
¦  «         |j        d	k    sJ ‚|                     d¬¦  «         |j        dk    sJ ‚|                     d ¬¦  «         |j        dk    sJ ‚|                     d¬¦  «         |j        dk    sJ ‚|                     d ¬¦  «         |j        dk    sJ ‚|                     g ¬¦  «         |j        �J ‚d S )Nr   é   r±   rl   )r•   g      
@)rC  rI   Ú	symthreshr[   rÞ   é   rH   r   )rJ  rá   rZ   )r   g     €@rÝ   )r)   rD  rI   rJ  r[   rÞ   rS   rE  s     r1   rU   z TestAsinhLocator.test_set_paramsÏ  sÅ  € ÝÔ#°Ø-/¸5Ø)*°ð>ñ >ô >ˆð Œ} Ò"Ð"Ð"Ð"ØŒ~ Ò&Ð&Ð&Ð&ØŒy˜AŠ~ˆ~ˆ~ˆ~ØŒy˜KÒ'Ð'Ð'Ð'à�Š ˆÑ$Ô$Ð$ØŒ} Ò"Ð"Ð"Ð"Ø�Š˜ÑÔÐØŒ} Ò"Ð"Ð"Ð"à�Š #ˆÑ&Ô&Ð&ØŒ~ Ò$Ð$Ð$Ð$Ø�Š $ˆÑ'Ô'Ð'ØŒ~ Ò$Ð$Ð$Ð$à�Š˜QˆÑÔÐØŒy˜AŠ~ˆ~ˆ~ˆ~Ø�Š˜TˆÑ"Ô"Ð"ØŒy˜AŠ~ˆ~ˆ~ˆ~à�Š˜ZˆÑ(Ô(Ð(ØŒy˜JÒ&Ð&Ð&Ð&Ø�Š˜TˆÑ"Ô"Ð"ØŒy˜JÒ&Ð&Ð&Ð&Ø�Š˜RˆÑ Ô Ð ØŒyÐ Ð Ð Ð Ð r3   c                 ó„  — t          j        ddd¬¦  «        }t          |                     dd¦  «        t	          j        ddd¦  «        ¦  «         t          |                     d	d
¦  «        t	          j        d	dd¦  «        ¦  «         t          |                     dd¦  «        t	          j        ddd¦  «        ¦  «         d S )Nr	   é   r   ©rC  rI   r[   r   r   ç)\�Âõ(ð?rL   r   ry   gB`åÐ"Û¹?ç{®Gáz”?g{®Gáz„¿r®   gM„O¯„?çü©ñÒMb`?©r)   rD  r   r+   r;   r=   rE  s     r1   Útest_linear_valuesz#TestAsinhLocator.test_linear_valuesî  sÂ   € ÝÔ#°¸rÈÐJÑJÔJˆå˜D×,Ò,¨R°Ñ3Ô3ÝœI b¨$°Ñ4Ô4ñ	6ô 	6ð 	6å˜D×,Ò,¨T°3Ñ7Ô7ÝœI d¨E°4Ñ8Ô8ñ	:ô 	:ð 	:å˜D×,Ò,¨U°DÑ9Ô9ÝœI e¨V°UÑ;Ô;ñ	=ô 	=ð 	=ð 	=ð 	=r3   c                 óÌ   — t          j        ddd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          |                     dd	¦  «        g d
¢¦  «         d S )Nry   rM  r   rN  éœÿÿÿr	   )rU  éìÿÿÿr   r   çš™™™™™É¿r   rL   r   r   r   r	   éüÿÿrÇ   )rX  rU  rV  r  gš™™™™™Ù¿r   rü   rG   r   r	   rÇ   ©r)   rD  r   r+   rE  s     r1   Útest_wide_valuesz!TestAsinhLocator.test_wide_valuesø  s‹   € ÝÔ#°¸rÈÐJÑJÔJˆå˜D×,Ò,¨T°3Ñ7Ô7ð4ð 4ð 4ñ	5ô 	5ð 	5õ 	˜D×,Ò,¨U°DÑ9Ô9ð7ð 7ð 7ñ	8ô 	8ð 	8ð 	8ð 	8r3   c                 ó€   — t          j        ddd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         dS )	z<Check that manually injected zero will supersede nearby tickr	   rG   r   rN  gš™™™™™ñ¿r}   )g      ð¿r   r}   NrY  rE  s     r1   Útest_near_zerozTestAsinhLocator.test_near_zero  sF   € åÔ#°¸qÀqÐIÑIÔIˆå˜D×,Ò,¨T°3Ñ7Ô7Ð9IÐ9IÐ9IÑJÔJÐJÐJÐJr3   c                 ó¢   — t          j        dd¬¦  «        }t          |                     dd¦  «        t	          j        ddd¦  «        ¦  «         d S )Nr   rM  rH   ée   éf   gq=
×£€Y@ry   rR  rE  s     r1   Útest_fallbackzTestAsinhLocator.test_fallback  sV   € ÝÔ# C°"Ð5Ñ5Ô5ˆå˜D×,Ò,¨S°#Ñ6Ô6ÝœI c¨6°3Ñ7Ô7ñ	9ô 	9ð 	9ð 	9ð 	9r3   c                 óf  —  G d„ d¦  «        }t          j        dddd¬¦  «        }||_        d|_        t	           |¦   «         g d	¢¦  «         d
|_        t	           |¦   «         g d¢¦  «         d|_        t	           |¦   «         g d¢¦  «         d|_        t	           |¦   «         g d¢¦  «         d S )Nc                   ó(   — e Zd ZdZed„ ¦   «         ZdS )ú5TestAsinhLocator.test_symmetrizing.<locals>.DummyAxis)r   r   c                 ó   — | j         S ©N)Úbounds)Úclss    r1   Úget_view_intervalzGTestAsinhLocator.test_symmetrizing.<locals>.DummyAxis.get_view_interval  s
   € Ø/2¬zÐ(9r3   N)r8   r9   r:   rf  Úclassmethodrh  rC   r3   r1   Ú	DummyAxisrc    s(   € € € € € ØˆFØØ9Ð9ñ Œ[Ø9Ð9Ð9r3   rj  r   rG   r   r   )rC  rI   rJ  r[   )r   r   )r   r   r   )r   r}   ©r   r   r   )g333333ë¿r~   )r   r   )r   r~   r   )r)   rD  Úaxisrf  r   )r,   rj  rF  s      r1   Útest_symmetrizingz"TestAsinhLocator.test_symmetrizing  sá   € ð	:ð 	:ð 	:ð 	:ð 	:ñ 	:ô 	:ð 	:õ
 Ô#°¸QØ.2¸ð<ñ <ô <ˆàˆŒ	à"ˆ	ÔÝ˜D˜D™FœF J J JÑ/Ô/Ð/à$ˆ	ÔÝ˜D˜D™FœF J J JÑ/Ô/Ð/à(ˆ	ÔÝ˜D˜D™FœF J J JÑ/Ô/Ð/à#ˆ	ÔÝ˜D˜D™FœF N N NÑ3Ô3Ð3Ð3Ð3r3   c                 óü   — t          j        dddd¬¦  «        }t          |                     dd¦  «        g d¢¦  «         t          j        dd	d
¬¦  «        }t          |                     dd¦  «        g d¢¦  «         d S )Nr   rQ   r    )r   rG   r   )rC  rI   r[   rÞ   é’ÿÿÿén   )iþÿÿiÔþÿÿrU  iÎÿÿÿiâÿÿÿéöÿÿÿr   r  r   ç      à¿rK   r   r   ry   rz   r   r   rG   r   r    r"   é2   r	   i,  éô  r   r   rN  iæûÿÿi  )i�ýÿÿiƒÿÿÿiçÿÿÿr   r   rW  r   rL   r   r   é   é}   iq  rY  )r,   Úlctr10Úlctr5s      r1   Útest_base_roundingz#TestAsinhLocator.test_base_rounding$  s±   € ÝÔ%°1¸qØ+-°Ið?ñ ?ô ?ˆå˜F×.Ò.¨t°SÑ9Ô9ðAð Að Añ	Bô 	Bð 	Bõ
 Ô$°!¸bÀqÐIÑIÔIˆÝ˜E×-Ò-¨e°TÑ:Ô:ð6ð 6ð 6ñ	7ô 	7ð 	7ð 	7ð 	7r3   N)r8   r9   r:   rG  rU   rS  rZ  r\  r`  rm  ry  rC   r3   r1   r@  r@  È  s�   € € € € € ðð ð ð!ð !ð !ð>=ð =ð =ð8ð 8ð 8ðKð Kð Kð9ð 9ð 9ð4ð 4ð 4ð,7ð 7ð 7ð 7ð 7r3   r@  c                   óº  — e Zd Zg d¢ZddgZddgZg d¢Zddgddgd	d
gddgddggZg d¢Ze	j
                             dddg¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Zd„ Zd„ Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             de¦  «        d„ ¦   «         Ze	j
                             d e¦  «        d!„ ¦   «         Ze	j
                             d e¦  «        d"„ ¦   «         Zd#„ Zd$„ Zd%„ Zd&S )'ÚTestScalarFormatter))é{   é½   r   )iCÿÿÿi…ÿÿÿr   )i50  i=0  i40  )iÃÏÿÿiËÏÿÿiÌÏÿÿ)g    øiø@g    ¨jø@é † )g    ¨jøÀg    øiøÀé`yþÿ)g    hiø@g    jø@r~  )g    jøÀg    hiøÀr  )iOÔ iQÔ iPÔ )i¯+íÿi±+íÿi°+íÿ)r   r   r   )r|  r|  r   )gì/»'Ý?g”ö_˜LÝ?r{   )g
×£p=š­@g33333Ž­@iÄ  )gš™™™‰æ@g    ø`æ@iÈ¯  )g1Ðµ/ G?gšÃÿgÞ»G?gÖÿ9Ì—G?)g\�Âõh˜È@g¤p=
·—È@i.1  )g      "@g      (@r   )g      Œ@ç     À’@r   )g     °�@r€  r   )ç®Gáz®ï?rO  r   )g{®Gáú#@g…ëQ¸$@r    )g�Âõ(\ÿX@gq=
×£ Y@r	   )gö(\�Âõ@g
×£p=
@r   )g{®Gáú/@gÃõ(\�0@r  )g!°rh‘íÜ¿ç°rh‘í|ß?r   )g°rh‘í|ß¿r‚  r   )g3333³È@g    @È@i0  )gffff¦ÈÀgffff¦È@r   TF)	)Fr‰   )rÉ   r
   r   F)T©éþÿÿÿr   )rq  r   r   F)Trƒ  )rV  r    r   F)Trƒ  )ro  éx   r   F)Trƒ  )iˆÿÿÿrp  r   F)Trƒ  )gü©ñÒMbP¿rQ  r  F)T)r^   rá   )g   €tÒÚAg   0ëþArû   T)Tr‰   ©g     jøÀrË   r   F)T)r   r   r†  r   Fr   z0.000g�(í¾0‰?z0.012g°rh‘í|¿?z0.123g®Gáz®ó?z1.230gš™™™™™(@z12.300))ry   ú1e-1)r°   z1.1e-1)g    „×—AÚ1e8)g    Þ9šAz1.1e8zunicode_minus, result)Tõ   âˆ’1)Fú-1c                 óÎ   — |t           j        d<   t          j        ¦   «         j                             ¦   «                              d¦  «                             ¦   «         |k    sJ ‚d S )Núaxes.unicode_minusr   )rd   ÚrcParamsr�   Úgcar…   Úget_major_formatterÚformat_data_shortÚstrip)r,   Úunicode_minusÚresults      r1   Útest_unicode_minusz&TestScalarFormatter.test_unicode_minust  sc   € ð .;�ŒÐ)Ñ*åŒG‰IŒIŒO×/Ò/Ñ1Ô1×CÒCÀBÑGÔG×MÒMÑOÔOØòð ð ð ð ð r3   zleft, right, offsetc                 óp  — t          j        ¦   «         \  }}|j                             ¦   «         }||k    rt	          j        t          d¬¦  «        nt          ¦   «         5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j         	                    ¦   «          |j
        |k    sJ ‚||k    rt	          j        t          d¬¦  «        nt          ¦   «         5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j         	                    ¦   «          |j
        |k    sJ ‚d S )NzAttempting to set identical©Úmatch)r�   r‚   r…   r�  r@   ré   rê   r   rƒ   Ú_update_ticksr6  )r,   ÚleftÚrightr6  r‡   rˆ   Ú	formatters          r1   Útest_offset_valuez%TestScalarFormatter.test_offset_value|  sª  € å”,‘.”.‰ˆˆRØ”H×0Ò0Ñ2Ô2ˆ	ð ˜’�õ Œl�;Ð.KÐLÑLÔLÐLÝ$/¡M¤Mð	%ð 	%à�KŠK˜˜eÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	Œ×ÒÑ Ô Ð ØÔ 6Ò)Ð)Ð)Ð)ð ˜’�õ Œl�;Ð.KÐLÑLÔLÐLÝ$/¡M¤Mð	%ð 	%à�KŠK˜˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	Œ×ÒÑ Ô Ð ØÔ 6Ò)Ð)Ð)Ð)Ð)Ð)s$   ÁBÂBÂ	BÃ"DÄD	ÄD	Ú
use_offsetc                 óÚ   — t          j        d|i¦  «        5  t          j        ¦   «         }||                     ¦   «         k    sJ ‚|j        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzaxes.formatter.useoffsetr   )rd   re   r)   ÚScalarFormatterÚget_useOffsetr6  )r,   r�  Útmp_forms      r1   Útest_use_offsetz#TestScalarFormatter.test_use_offset�  s½   € åŒ^Ð7¸ÐDÑEÔEð 	(ð 	(ÝÔ.Ñ0Ô0ˆHØ ×!7Ò!7Ñ!9Ô!9Ò9Ð9Ð9Ð9Ø”? aÒ'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   —;A Á A$Á'A$Úuse_math_textc                 óÀ   — t          j        d|i¦  «        5  t          j        ¦   «         }||                     ¦   «         k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Núaxes.formatter.use_mathtext)rd   re   r)   rŸ  Úget_useMathText)r,   r£  r¡  s      r1   Útest_useMathTextz$TestScalarFormatter.test_useMathText”  sª   € åŒ^Ð:¸MÐJÑKÔKð 	?ð 	?ÝÔ.Ñ0Ô0ˆHØ  H×$<Ò$<Ñ$>Ô$>Ò>Ð>Ð>Ð>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   —.AÁAÁAc                 óœ   — t          j        ¦   «         }|                     d¦  «         |                     ¦   «         rJ ‚|j        dk    sJ ‚d S )Nr   )r)   rŸ  Úset_useOffsetr   r6  ©r,   r¡  s     r1   Útest_set_use_offset_floatz-TestScalarFormatter.test_set_use_offset_floatš  sU   € ÝÔ*Ñ,Ô,ˆØ×Ò˜sÑ#Ô#Ð#Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ØŒ #Ò%Ð%Ð%Ð%Ð%Ð%r3   c                 ó  — t          j        ¦   «         }|d         }|r|d         dd …         g t           j        gfv rt          j        d¦  «         t          j        ddi¦  «        5  t          j        ¦   «         }| 	                    ¦   «         sJ ‚| 
                    ¦   «          |j                             dd¦  «         |                     g d	¢¦  «         | |d
¦  «        v sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚthousands_sepÚgroupingr   zLocale does not apply groupingzaxes.formatter.use_localeTr   r    )r   r   rG   rÌ   )ÚlocaleÚ
localeconvÚCHAR_MAXr@   Úskiprd   re   r)   rŸ  Úget_useLocaleÚcreate_dummy_axisrl  Úset_data_intervalÚset_locs)r,   ÚconvÚsepr¡  s       r1   Útest_use_localez#TestScalarFormatter.test_use_locale   sS  € ÝÔ Ñ"Ô"ˆØ�?Ô#ˆØð 	:�d˜:Ô& r s sÔ+°µV´_Ð4EÐ/FÐFÐFÝŒKÐ8Ñ9Ô9Ð9åŒ^Ð8¸$Ð?Ñ@Ô@ð 	(ð 	(ÝÔ.Ñ0Ô0ˆHØ×)Ò)Ñ+Ô+Ð+Ð+Ð+à×&Ò&Ñ(Ô(Ð(ØŒM×+Ò+¨A¨rÑ2Ô2Ð2Ø×Ò˜i˜i˜iÑ(Ô(Ð(Ø˜(˜( 3™-œ-Ð'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   Á'A?C4Ã4C8Ã;C8z.sci_type, scilimits, lim, orderOfMag, fewticksc                 óÂ  — t          j        ¦   «         }|                     |¦  «         |                     |¦  «         t	          j        ¦   «         \  }}|j                             |¦  «          |j        |Ž  |r,|j         	                    t          j
        d¦  «        ¦  «         |                     |j                             ¦   «         ¦  «         ||j        k    sJ ‚d S )Nrl   )r)   rŸ  Úset_scientificÚset_powerlimitsr�   r‚   rº   Úset_major_formatterr¹   Úset_major_locatorr*   r¶  Úget_majorticklocsÚorderOfMagnitude)	r,   Úsci_typeÚ	scilimitsr»   Ú
orderOfMagÚfewticksr¡  r‡   rˆ   s	            r1   Útest_scilimitsz"TestScalarFormatter.test_scilimits¯  sÓ   € õ Ô*Ñ,Ô,ˆØ×Ò Ñ)Ô)Ð)Ø× Ò  Ñ+Ô+Ð+Ý”,‘.”.‰ˆˆRØ
Œ×$Ò$ XÑ.Ô.Ð.ØˆŒ�SÐÐØð 	?ØŒH×&Ò&¥wÔ':¸1Ñ'=Ô'=Ñ>Ô>Ð>à×Ò˜"œ(×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø˜XÔ6Ò6Ð6Ð6Ð6Ð6Ð6r3   zvalue, expectedc                 ó€   — dt           j        d<   t          j        ¦   «         }|                     |¦  «        |k    sJ ‚d S )NFrŒ  )rd   r�  r)   rŸ  Úformat_data)r,   Úvaluer/   Úsfs       r1   Útest_format_dataz$TestScalarFormatter.test_format_data¾  s@   € à-2�ŒÐ)Ñ*ÝÔ$Ñ&Ô&ˆØ�~Š~˜eÑ$Ô$¨Ò0Ð0Ð0Ð0Ð0Ð0r3   zdata, expectedc                 ó¼   — t          j        ¦   «         \  }}|                     dd¦  «         |j                             ¦   «         j        } ||¦  «        |k    sJ ‚d S )Nr   r   )r�   r‚   rƒ   r…   r�  r�  )r,   rb   r/   r‡   rˆ   Úfmts         r1   Útest_cursor_precisionz)TestScalarFormatter.test_cursor_precisionÄ  sZ   € å”,‘.”.‰ˆˆRØ
�Š�B˜ÑÔÐØŒh×*Ò*Ñ,Ô,Ô>ˆØˆs�4‰yŒy˜HÒ$Ð$Ð$Ð$Ð$Ð$r3   c                 ó6  — t          j        ¦   «         }|                     ¦   «          |j                             dd¦  «         |j        } ||¦  «        |k    sJ ‚|j                             ¦   «         dk    sJ ‚|j                             ¦   «         dk    sJ ‚d S )Nr   r    rû   )r)   rŸ  r´  rl  Úset_view_intervalr�  Úget_tick_spaceÚ
get_minpos)r,   rb   r/   rÉ  rÌ  s        r1   Útest_cursor_dummy_axisz*TestScalarFormatter.test_cursor_dummy_axisË  s¡   € õ Ô$Ñ&Ô&ˆØ
×ÒÑÔÐØ
Œ×!Ò! ! RÑ(Ô(Ð(ØÔ"ˆØˆs�4‰yŒy˜HÒ$Ð$Ð$Ð$ØŒw×%Ò%Ñ'Ô'¨1Ò,Ð,Ð,Ð,ØŒw×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(Ð(Ð(r3   c                 ó@  — t           j                             ddddœ¦  «         t          j        t
          d¬¦  «        5  t          j        ¦   «         \  }}|                     g d¢¦  «         |j	         
                    ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )NÚserifÚcmr10F)úfont.familyz
font.serifr¥  zcmr10 font should ideallyr–  rk  )rd   r�  Úupdater@   ré   rê   r�   r‚   r‹   ÚcanvasÚdrawrÙ   s      r1   Útest_mathtext_ticksz'TestScalarFormatter.test_mathtext_ticksÖ  sâ   € ÝŒ×ÒØ"Ø!Ø+0ð
ð 
ñ 	ô 	ð 	õ Œ\�+Ð-HÐIÑIÔIð 	ð 	Ý”l‘n”n‰GˆC�Ø�MŠM˜*˜*˜*Ñ%Ô%Ð%ØŒJ�OŠOÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¿ABÂBÂBc                 ó  — t           j                             ddddœ¦  «         |                     t          j        d¬¦  «        5  t          j        ¦   «         \  }}|                     ddgd	dg¦  «         | 	                    d
¦  «         g d¢}t          j        ¦   «         }|                     |t          ||¦  «        ¦  «         |j                             ¦   «          |j        rJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NrÕ  ÚcmT)rÖ  zmathtext.fontsetr¥  zmatplotlib.mathtext)Úloggerg¸…ëQ¸ž¿rx   é(   rÖ   )rP  rz   rl   rs  )rd   r�  r×  Úat_levelÚloggingÚWARNINGr�   r‚   Úplotr×   r)   ÚLogFormatterSciNotationÚ
set_yticksÚmaprØ  rÙ  Útext)r,   Úcaplogr‡   rˆ   Úyticksr›  s         r1   Útest_cmr10_substitutionsz,TestScalarFormatter.test_cmr10_substitutionsâ  sE  € ÝŒ×ÒØ"Ø $Ø+/ð
ð 
ñ 	ô 	ð 	ð �_Š_�Wœ_Ð5Jˆ_ÑKÔKð 	#ð 	#Ý”l‘n”n‰GˆC�Ø�GŠG�U˜D�M B¨ :Ñ.Ô.Ð.Ø�MŠM˜%Ñ Ô Ð Ø'Ð'Ð'ˆFÝÔ7Ñ9Ô9ˆIØ�MŠM˜&¥# i°Ñ"8Ô"8Ñ9Ô9Ð9ØŒJ�OŠOÑÔÐØ”{Ð"Ð"Ð"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ÁB#C6Ã6C:Ã=C:c                 óx   — t          j        ¦   «         }|                     g ¦  «          |d¦  «        dk    sJ ‚d S )Nr   Ú )r)   rŸ  r¶  )r,   rÉ  s     r1   Útest_empty_locsz#TestScalarFormatter.test_empty_locsô  s8   € ÝÔ$Ñ&Ô&ˆØ
�Š�B‰ŒˆØˆr�#‰wŒw˜"Š}ˆ}ˆ}ˆ}ˆ}ˆ}r3   N)r8   r9   r:   Úoffset_dataÚuse_offset_dataÚuseMathText_dataÚscilimits_dataÚcursor_datarÇ  r@   rA   rB   r”  rœ  r¢  r§  r«  r¹  rÅ  rÊ  rÍ  rÒ  rÚ  ré  rì  rC   r3   r1   r{  r{  2  sk  € € € € € ðð ð €KðB ˜U�m€Oà˜e�}Ðð
ð 
ð 
€Nð 
ˆWˆØ	�ÐØ	�ÐØ	�ÐØ	ˆxÐð€Kðð ð €Kð „[×ÒÐ4Ø7¸ÐGñIô Iðð ñIô Iðð „[×ÒÐ2°KÑ@Ô@ð*ð *ñ AÔ@ð*ð  „[×Ò˜\¨?Ñ;Ô;ð(ð (ñ <Ô;ð(ð „[×Ò˜_Ð.>Ñ?Ô?ð?ð ?ñ @Ô?ð?ð
&ð &ð &ð(ð (ð (ð „[×ÒØ8¸.ñJô Jð7ð 7ñJô Jð7ð „[×ÒÐ.°Ñ<Ô<ð1ð 1ñ =Ô<ð1ð
 „[×ÒÐ-¨{Ñ;Ô;ð%ð %ñ <Ô;ð%ð „[×ÒÐ-¨{Ñ;Ô;ð)ð )ñ <Ô;ð)ð
ð 
ð 
ð#ð #ð #ð$ð ð ð ð r3   r{  c                   ó    — e Zd ZdZdd„Zd„ ZdS )ÚFakeAxiszAAllow Formatter to be called without having a "full" plot set up.r   r    c                 ó"   — || _         || _        d S re  ©r-   r.   )r,   r-   r.   s      r1   Ú__init__zFakeAxis.__init__ü  s   € ØˆŒ	ØˆŒ	ˆ	ˆ	r3   c                 ó   — | j         | j        fS re  rõ  )r,   s    r1   rh  zFakeAxis.get_view_interval   s   € ØŒy˜$œ)Ð#Ð#r3   N©r   r    )r8   r9   r:   Ú__doc__rö  rh  rC   r3   r1   ró  ró  ú  s=   € € € € € ØKÐKðð ð ð ð$ð $ð $ð $ð $r3   ró  c                   óª  — e Zd Zdd ej        dd¦  «         ej        dd¦  «        g d¢fdd ej        dd	ej        d
ddg¦  «         ed¦  «        g d¢fdd ej        g d¢e¬¦  «         ed¦  «        g d¢fgZ	dddej        ej
        gZej                             de	¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )ÚTestLogFormatterExponentTrl   r  rÎ   )z-3z-2rŠ  Ú0Ú1Ú2Ú3Fr    ry   rÈ   rL   rW  gñhãˆµøä¾r   )ú0.1z1e-05ú3.14z0.2z-0.2z-1e-05rs  )rG   r   é   é*   ©Údtype)rÿ  Ú5Ú12Ú42rÍ   g      @rÉ   z2labelOnlyBase, exponent, locs, positions, expectedr[   c                 óÎ   ‡	— t          j        ||¬¦  «        Š	t          d||z  ¦  «        ‰	_        ||z  }ˆ	fd„t	          ||¦  «        D ¦   «         }d„ |D ¦   «         }||k    sJ ‚d S )N©r[   ÚlabelOnlyBaser   c                 ó.   •— g | ]\  }} ‰||¦  «        ‘ŒS rC   rC   )r™   rš   Úposr›  s      €r1   r›   z7TestLogFormatterExponent.test_basic.<locals>.<listcomp>  s)   ø€ ÐIÐIÐI©¨¨C�)�)˜A˜sÑ#Ô#ÐIÐIÐIr3   c                 ó:   — g | ]}|                      d d¦  «        ‘ŒS )ú-u   âˆ’©Úreplace)r™   Úlabels     r1   r›   z7TestLogFormatterExponent.test_basic.<locals>.<listcomp>  s'   € ÐOÐOÐO¸U�E—M’M #Ð'7Ñ8Ô8ÐOÐOÐOr3   )r)   ÚLogFormatterExponentró  rl  rÂ   )
r,   r  r[   ÚexponentÚlocsÚ	positionsr/   ÚvalsÚlabelsr›  s
            @r1   r2   z#TestLogFormatterExponent.test_basic  s�   ø€ õ
 Ô0°dØ?LðNñ Nô Nˆ	å! ! T¨8¡^Ñ4Ô4ˆ	ŒØ�T‰zˆØIÐIÐIÐIµC¸¸iÑ4HÔ4HÐIÑIÔIˆØOÐOÀhÐOÑOÔOˆØ˜Ò!Ð!Ð!Ð!Ð!Ð!r3   c                 óz   — t          j        dd¬¦  «        }t          ¦   «         |_         |d¦  «        dk    sJ ‚d S )Nr    Tr
  g&üøŽ$ô?rë  )r)   r  ró  rl  )r,   r›  s     r1   Ú
test_blankz#TestLogFormatterExponent.test_blank  sC   € åÔ0°bÈÐMÑMÔMˆ	Ý!™œˆ	ŒØˆy˜Ñ!Ô! RÒ'Ð'Ð'Ð'Ð'Ð'r3   N)r8   r9   r:   r;   r=   r<   Úpir  ÚfloatÚ
param_dataÚeÚ	base_datar@   rA   rB   r2   r  rC   r3   r1   rû  rû    s9  € € € € € à	ˆq�)�"”)˜B Ñ$Ô$ i b¤i°°CÑ&8Ô&8Ø	/Ð	/Ð	/ð	1ð 
��H�B”H˜c 7¨B¬E°3¸¸hÐGÑHÔHØ	ˆˆq‰ŒÐDÐDÐDð	Fà	��H�B”H˜^˜^˜^°5Ð9Ñ9Ô9¸5¸5À¹8¼8Ø	Ð	Ð	ð	!ð	€Jð �c˜4 ¤¨¬Ð-€Ià„[×ÒØ@À*ñNô Nà„[×Ò˜V YÑ/Ô/ð"ð "ñ 0Ô/ñNô Nð"ð(ð (ð (ð (ð (r3   rû  c                   ó|   — e Zd Z ej        ¦   «         Zg d¢Zej         	                    de¦  «        d„ ¦   «         Z
dS )ÚTestLogFormatterMathtext))r   r   ú$\mathdefault{10^{0}}$)r   r®   z$\mathdefault{10^{-2}}$)r   r   z$\mathdefault{10^{2}}$)rG   r   z$\mathdefault{1}$)rG   r®   z$\mathdefault{0.01}$)rG   r   z$\mathdefault{100}$)rG   r   z$\mathdefault{10^{-3}}$)rG   rÊ   z$\mathdefault{10^{3}}$zmin_exponent, value, expectedc                 óœ   — t          j        d|i¦  «        5  |                      |¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzaxes.formatter.min_exponent)rd   re   rÌ  )r,   Úmin_exponentrÈ  r/   s       r1   Útest_min_exponentz*TestLogFormatterMathtext.test_min_exponent3  sš   € åŒ^Ð:¸LÐIÑJÔJð 	/ð 	/Ø—8’8˜E‘?”? hÒ.Ð.Ð.Ð.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   —AÁAÁAN)r8   r9   r:   r)   ÚLogFormatterMathtextrÌ  Ú	test_datar@   rA   rB   r%  rC   r3   r1   r!  r!  &  se   € € € € € Ø
&ˆ'Ô
&Ñ
(Ô
(€Cð	ð 	ð 	€Ið „[×ÒÐ<¸iÑHÔHð/ð /ñ IÔHð/ð /ð /r3   r!  c                   óž   — e Zd Zg d¢Zej                             d¦  «        ej         	                    de¦  «        d„ ¦   «         ¦   «         Z
dS )ÚTestLogFormatterSciNotation))r   g       ?z$\mathdefault{2^{-5}}$)r   r   z$\mathdefault{2^{0}}$)r   é    z$\mathdefault{2^{5}}$)r   g333333£?z$\mathdefault{1.2\times2^{-5}}$)r   ç333333ó?z$\mathdefault{1.2\times2^{0}}$)r   g333333C@z$\mathdefault{1.2\times2^{5}}$)r    r   z$\mathdefault{-10^{0}}$)r    rÈ   z$\mathdefault{10^{-5}}$)r    r   r"  )r    r~  z$\mathdefault{10^{5}}$)r    gñhãˆµøô>z$\mathdefault{2\times10^{-5}}$)r    r   z$\mathdefault{2\times10^{0}}$)r    i@ z$\mathdefault{2\times10^{5}}$)r    rù   z$\mathdefault{5\times10^{-5}}$)r    r   z$\mathdefault{5\times10^{0}}$)r    i ¡ z$\mathdefault{5\times10^{5}}$Údefaultzbase, value, expectedc                 óÄ   — t          j        |¬¦  «        }h d£|_        t          j        ddi¦  «        5   ||¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NrZ   >   r+  r   r   r   útext.usetexF)r)   rã  Úsublabelrd   re   )r,   r[   rÈ  r/   r›  s        r1   r2   z&TestLogFormatterSciNotation.test_basicM  sº   € õ Ô3¸Ð>Ñ>Ô>ˆ	Ø+˜^˜^ˆ	ÔÝŒ^˜]¨EÐ2Ñ3Ô3ð 	0ð 	0Ø�9˜UÑ#Ô# xÒ/Ð/Ð/Ð/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   µAÁAÁAN)r8   r9   r:   r'  rd   ÚstyleÚcontextr@   rA   rB   r2   rC   r3   r1   r)  r)  9  sp   € € € € € ðð ð €Ið& 	„Y×Ò�yÑ!Ô!Ø„[×ÒÐ4°iÑ@Ô@ð0ð 0ñ AÔ@ñ "Ô!ð0ð 0ð 0r3   r)  c                   óD  — e Zd Zg d¢Zej                             de¦  «        d„ ¦   «         Zdd„Ze	j
                             d¦  «        d„ ¦   «         Zej                             dg d	¢¦  «        d
„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestLogFormatter)„)ç}…9“x ?r   z3.142e-5)çÜæGÅ·–4?r   z3.142e-4)ç“à™¶e¼i?r   z3.142e-3)ç\, ’¿ ?r   z3.142e-2)çs7¨v/Ô?r   z3.142e-1)çPERTû!	@r   ú3.142)ç¤Öf)zj?@r   z3.142e1)ç&FàYŒ¢s@r   z3.142e2)ç°WXp/‹¨@r   z3.142e3)çœmnLû­Þ@r   z3.142e4)ç�Å½,Ar   z3.142e5)rÈ   r   ú1e-5)r   r   ú1e-4)r   r   ú1e-3)r®   r   ú1e-2)ry   r   r‡  )r   r   rý  )r    r   Ú10)r	   r   Ú100)rÇ   r   Ú1000)é'  r   Ú1e4)r~  r   Ú1e5)r4  r¯   rü  )r5  r¯   rü  )r6  r¯   ú0.003)r7  r¯   ú0.031)r8  r¯   ú0.314)r9  r¯   r:  )r;  r¯   ú31.416)r<  r¯   ú314.159)r=  r¯   ú3141.593)r>  r¯   ú	31415.927)r?  r¯   ú
314159.265)rÈ   r¯   rü  )r   r¯   rü  )r   r¯   ú0.001)r®   r¯   ú0.01)ry   r¯   r   )r   r¯   rý  )r    r¯   rD  )r	   r¯   rE  )rÇ   r¯   rF  )rG  r¯   Ú10000)r~  r¯   Ú100000)r4  r   rü  )r5  r   rü  )r6  r   rJ  )r7  r   rK  )r8  r   rL  )r9  r   r:  )r;  r   rM  )r<  r   rN  )r=  r   rO  )r>  r   rP  )r?  r   rQ  )rÈ   r   rü  )r   r   rü  )r   r   rR  )r®   r   rS  )ry   r   r   )r   r   rý  )r    r   rD  )r	   r   rE  )rÇ   r   rF  )rG  r   rT  )r~  r   rU  )r4  r   rü  )r5  r   rü  )r6  r   rü  )r7  r   z0.03)r8  r   z0.31)r9  r   r  )r;  r   z31.42)r<  r   z314.16)r=  r   z3141.59)r>  r   z31415.93)r?  r   z	314159.27)rÈ   r   rü  )r   r   rü  )r   r   rü  )r®   r   rS  )ry   r   r   )r   r   rý  )r    r   rD  )r	   r   rE  )rÇ   r   rF  )rG  r   rT  )r~  r   rU  )r4  r	   rü  )r5  r	   rü  )r6  r	   rü  )r7  r	   rü  )r8  r	   z0.3)r9  r	   ú3.1)r;  r	   z31.4)r<  r	   z314.2)r=  r	   z3141.6)r>  r	   z31415.9)r?  r	   z314159.3)rÈ   r	   rü  )r   r	   rü  )r   r	   rü  )r®   r	   rü  )ry   r	   r   )r   r	   rý  )r    r	   rD  )r	   r	   rE  )rÇ   r	   rF  )rG  r	   rT  )r~  r	   rU  )r4  ç    €„.Az3.1e-5)r5  rW  z3.1e-4)r6  rW  z3.1e-3)r7  rW  z3.1e-2)r8  rW  z3.1e-1)r9  rW  rV  )r;  rW  z3.1e1)r<  rW  z3.1e2)r=  rW  z3.1e3)r>  rW  z3.1e4)r?  rW  z3.1e5)rÈ   rW  r@  )r   rW  rA  )r   rW  rB  )r®   rW  rC  )ry   rW  r‡  )r   rW  rý  )r    rW  rD  )r	   rW  rE  )rÇ   rW  rF  )rG  rW  rH  )r~  rW  rI  zvalue, domain, expectedc                 óh   — t          j        ¦   «         }|                     ||¦  «        }||k    sJ ‚d S re  )r)   ÚLogFormatterÚ_pprint_val)r,   rÈ  Údomainr/   rÌ  r  s         r1   Útest_pprintzTestLogFormatter.test_pprintÞ  s:   € åÔ"Ñ$Ô$ˆØ—’  vÑ.Ô.ˆØ˜Ò Ð Ð Ð Ð Ð r3   rC   c                 ó$  ‡‡— |                      ¦   «         Š|                     ¦   «         }‰                     |¦  «         |dt          j        t          j        |¦  «        ¦  «        z  z  }ˆfd„|D ¦   «         }ˆfd„|D ¦   «         }||k    sJ ‚dS )z.Test whether locator marks subs to be labeled.r    c                 ó2   •— g | ]}t          |¦  «        ‰v ‘ŒS rC   )Úround)r™   ÚcrÞ   s     €r1   r›   z0TestLogFormatter._sub_labels.<locals>.<listcomp>ê  s$   ø€ Ð:Ð:Ð:¨q�% ™(œ( dÐ*Ð:Ð:Ð:r3   c                 ó.   •— g | ]} ‰|¦  «        d k    ‘ŒS ©rë  rC   ©r™   rš   rÌ  s     €r1   r›   z0TestLogFormatter._sub_labels.<locals>.<listcomp>ë  s%   ø€ Ð8Ð8Ð8 q�c�c˜!‘f”f ’lÐ8Ð8Ð8r3   N)Úget_minor_formatterr�   r¶  r;   r  r  )r,   rl  rÞ   Úminor_tlocsÚcoefsÚlabel_expectedÚ
label_testrÌ  s     `    @r1   Ú_sub_labelszTestLogFormatter._sub_labelsä  s¤   øø€ à×&Ò&Ñ(Ô(ˆØ×,Ò,Ñ.Ô.ˆØ�Š�[Ñ!Ô!Ð!Ø˜b¥2¤8­B¬H°[Ñ,AÔ,AÑ#BÔ#BÑCÑCˆØ:Ð:Ð:Ð:°EÐ:Ñ:Ô:ˆØ8Ð8Ð8Ð8¨KÐ8Ñ8Ô8ˆ
Ø˜^Ò+Ð+Ð+Ð+Ð+Ð+r3   r,  c           	      ó  ‡— t          j        ¦   «         \  }}|                     d¦  «         |j                             t          j        dg ¬¦  «        ¦  «         |j                             t          j        dt          j	        dd¦  «        ¬¦  «        ¦  «         |j         
                    t          j        d¬¦  «        ¦  «         |j                             t          j        d¬¦  «        ¦  «         |                     dd	¦  «         |j                             ¦   «         Š‰                     |j                             ¦   «         ¦  «         ˆfd
„|j                             ¦   «         D ¦   «         }t          j        |¦  «        sJ ‚|                      |j        g ¬¦  «         |                     dd¦  «         |                      |j        g ¬¦  «         |                     dd¦  «         |                      |j        g ¬¦  «         |                     dd¦  «         |                      |j        g d¢¬¦  «         |                     dd¦  «         |                      |j        t          j	        ddt&          ¬¦  «        ¬¦  «         d S )NrÖ   r    )r[   rÞ   r   T)r  Fr   g     ˆÃ@c                 ó.   •— g | ]} ‰|¦  «        d k    ‘ŒS rb  rC   rc  s     €r1   r›   z2TestLogFormatter.test_sublabel.<locals>.<listcomp>ü  s;   ø€ ð Dð Dð DØ!"ð !˜S ™VœV rš\ð Dð Dð Dr3   rÝ   i   éP   rQ   )r   rG   rl   r   r   r}   r  )r�   r‚   Ú
set_xscaler…   r¾  r)   rÏ   r�   r;   r=   r½  rY  Úset_minor_formatterrƒ   r�  r¶  r¿  rÜ   ri  r  )r,   r‡   rˆ   Úshow_major_labelsrÌ  s       @r1   Útest_sublabelzTestLogFormatter.test_sublabelî  so  ø€ õ ”,‘.”.‰ˆˆRØ
�Š�eÑÔÐØ
Œ×"Ò"¥7Ô#5¸2ÀBÐ#GÑ#GÔ#GÑHÔHÐHØ
Œ×"Ò"¥7Ô#5¸2Ý;=¼9ÀQÈÑ;KÔ;Kð$Mñ $Mô $Mñ 	Nô 	Nð 	Nà
Œ×$Ò$¥WÔ%9ÈÐ%MÑ%MÔ%MÑNÔNÐNØ
Œ×$Ò$¥WÔ%9ÈÐ%NÑ%NÔ%NÑOÔOÐOà
�Š�A�sÑÔÐØŒh×*Ò*Ñ,Ô,ˆØ�Š�R”X×/Ò/Ñ1Ô1Ñ2Ô2Ð2ðDð Dð Dð DØ&(¤h×&@Ò&@Ñ&BÔ&BðDñ Dô DÐåŒvÐ'Ñ(Ô(Ð(Ð(Ð(Ø×Ò˜œ¨ÐÑ+Ô+Ð+ð 	�Š�A�sÑÔÐØ×Ò˜œ¨ÐÑ+Ô+Ð+ð 	�Š�A�rÑÔÐØ×Ò˜œ¨ÐÑ+Ô+Ð+ð 	�Š�A�qÑÔÐØ×Ò˜œ¨¨¨ÐÑ5Ô5Ð5ð 	�Š�C˜ÑÔÐØ×Ò˜œ­¬	°!°R½sÐ(CÑ(CÔ(CÐÑDÔDÐDÐDÐDr3   Úval)r   r    r	   rÇ   c                 óŽ   — t          j        ¦   «         }t          ¦   «         |_         ||¦  «        t	          |¦  «        k    sJ ‚d S re  )r)   rY  ró  rl  Ústr©r,   rq  Útemp_lfs      r1   Útest_LogFormatter_callz'TestLogFormatter.test_LogFormatter_call  sB   € õ Ô&Ñ(Ô(ˆÝ‘z”zˆŒØˆw�s‰|Œ|�s 3™xœxÒ'Ð'Ð'Ð'Ð'Ð'r3   )g       g       g       g       c                 óh   — t          j        ¦   «         }t          ¦   «         |_         ||¦  «         d S re  )r)   rY  ró  rl  rt  s      r1   Útest_LogFormatter_call_tinyz,TestLogFormatter.test_LogFormatter_call_tiny  s.   € õ Ô&Ñ(Ô(ˆÝ‘z”zˆŒØˆ�‰Œˆˆˆr3   N)rC   )r8   r9   r:   Úpprint_datar@   rA   rB   r\  ri  rd   r0  r1  rp  rv  rx  rC   r3   r1   r3  r3  V  s  € € € € € ðEð Eð E€KðN „[×ÒÐ6¸ÑDÔDð!ð !ñ EÔDð!ð
,ð ,ð ,ð ,ð 	„Y×Ò�yÑ!Ô!ð#Eð #Eñ "Ô!ð#EðJ „[×Ò˜UÐ$6Ð$6Ð$6Ñ7Ô7ð(ð (ñ 8Ô7ð(ð „[×Ò˜UÐ$FÐ$FÐ$FÑGÔGðð ñ HÔGðð ð r3   r3  c                   ó°  — e Zd Zed„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Z e	d„  e
dd¦  «        D ¦   «         d„  e
dd¦  «        D ¦   «         z   d	gz   ¦  «        Zej                             d
e¦  «        d„ ¦   «         Zej                             d
d¦  «        d„ ¦   «         Zej                             d
dd ej         ej        ddd¦  «         ¦  «        z   z  ¦  «        d„ ¦   «         Zg d¢Zej                             de¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej                             dd¦  «        d„ ¦   «         ZdS )ÚTestLogitFormatterc                 ó¬  — t          j        d| ¦  «        }|ri|d         du}|d         rt          |d         ¦  «        nd}|d         �t          |d         ¦  «        nd}|d|z  z  }|d         s|d         �	|rd|z
  S |S t          j        d	| ¦  «        }|r/t          |d
         ¦  «        t          |d         ¦  «        }}||z  S t	          d¦  «        ‚)z¯
        Parser to convert string as r'$\mathdefault{1.41\cdot10^{-4}}$' in
        float 1.41e-4, as '0.5' or as r'$\mathdefault{\frac{1}{2}}$' in float
        0.5,
        zT[^\d]*(?P<comp>1-)?(?P<mant>\d*\.?\d*)?(?:\\cdot)?(?:10\^\{(?P<expo>-?\d*)})?[^\d]*$ÚcompNÚmantr   Úexpor   r    z4[^\d]*\\frac\{(?P<num>\d+)\}\{(?P<deno>\d+)\}[^\d]*$ÚnumÚdenozNot formatted by LogitFormatter)Úrer—  r  r  rÑ   )Ústringr—  r}  Úmantissar  rÈ  r€  r�  s           r1   Úlogit_deformatterz$TestLogitFormatter.logit_deformatter$  s	  € õ ”ðð ñ
ô 
ˆð ð 	Ø˜”=¨Ð,ˆDØ/4°V¬}ÐC•u˜U 6œ]Ñ+Ô+Ð+À!ˆHØ).¨v¬Ð)B•3�u˜V”}Ñ%Ô%Ð%ÈˆDØ˜r T™zÑ)ˆEØ�VŒ}ð   f¤Ð 9Øð %Ø˜u™9Ð$Ø�Ý”ØCÀVñ
ô 
ˆð ð 	Ý˜e EœlÑ+Ô+­U°5¸´=Ñ-AÔ-A�ˆCØ˜‘:ÐÝÐ:Ñ;Ô;Ð;r3   zfx, x))zSTUFF0.41OTHERSTUFFg=
×£p=Ú?)zSTUFF1.41\cdot10^{-2}OTHERSTUFFgÿ!ýöuàŒ?)zSTUFF1-0.41OTHERSTUFFgâz®Gáâ?)z!STUFF1-1.41\cdot10^{-2}OTHERSTUFFgx$(~Œï?)ÚSTUFFN)zSTUFF12.4e-3OTHERSTUFFNc                 ó  — |€Nt          j        t          ¦  «        5  t                               |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t                               |¦  «        }t
                               ||¦  «        sJ ‚d S re  )r@   rÐ   rÑ   r{  r…  rí   rï   )r,   Úfxrš   r³   s       r1   Útest_logit_deformaterz(TestLogitFormatter.test_logit_deformaterE  sÈ   € ð ˆ9Ý”�zÑ*Ô*ð 9ð 9Ý"×4Ò4°RÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9õ #×4Ò4°RÑ8Ô8ˆAÝ×'Ò'¨¨1Ñ-Ô-Ð-Ð-Ð-Ð-Ð-s   œAÁAÁAc                 ó   — g | ]}d | z  ‘Œ	S )r    rC   ©r™   Úis     r1   r›   zTestLogitFormatter.<listcomp>Y  s   € Ð*Ð*Ð*˜ˆ��‰Ð*Ð*Ð*r3   r   r    c                 ó    — g | ]}d d| z  z
  ‘ŒS rø  rC   r‹  s     r1   r›   zTestLogitFormatter.<listcomp>Z  s"   € Ð
0Ð
0Ð
0˜aˆ1ˆr�q�b‰z‰>Ð
0Ð
0Ð
0r3   r   rš   c                 óè   — t          j        d¬¦  «        }|                     | j        ¦  «          ||¦  «        }t                               |¦  «        }t                               ||¦  «        sJ ‚dS )zj
        Test the formatted value correspond to the value for ideal ticks in
        logit space.
        F©Úuse_overlineN)r)   ÚLogitFormatterr¶  Údecade_testr{  r…  rí   rï   )r,   rš   r›  ÚsÚx2s        r1   r2   zTestLogitFormatter.test_basic^  sp   € õ Ô*¸Ð>Ñ>Ô>ˆ	Ø×Ò˜4Ô+Ñ,Ô,Ð,ØˆI�a‰LŒLˆÝ×1Ò1°!Ñ4Ô4ˆÝ×#Ò# A rÑ*Ô*Ð*Ð*Ð*Ð*Ð*r3   )r   rr  r   r   r   r   c                 óŠ   — t          j        d¬¦  «        }|                     | j        ¦  «          ||¦  «        }|dk    sJ ‚dS )zl
        Test that invalid value are formatted with empty string without
        raising exception.
        Fr�  rë  N)r)   r‘  r¶  r’  )r,   rš   r›  r“  s       r1   Útest_invalidzTestLogitFormatter.test_invalidj  sL   € õ Ô*¸Ð>Ñ>Ô>ˆ	Ø×Ò˜4Ô+Ñ,Ô,Ð,ØˆI�a‰LŒLˆØ�BŠwˆwˆwˆwˆwˆwr3   r^   rá   c                 ód  — t          j        d¬¦  «        }dD ]—}|d|z  z   dk     r‰|                     |d|z  z
  ||d|z  z   g¦  «          ||¦  «        } ||d|z  z   ¦  «        }t                               |¦  «        t                               |¦  «        z
  }d|cxk     r	d|z  k     sn J ‚Œ˜dS )zS
        The format length should change depending on the neighbor labels.
        Fr�  )	r    r   rs  r	   éÈ   rÇ   iÐ  iˆ  rG  r   r   r   N)r)   r‘  r¶  r{  r…  )r,   rš   r›  ÚNÚsxÚsx1Úds          r1   Útest_variablelengthz&TestLogitFormatter.test_variablelengthu  sÞ   € õ
 Ô*¸Ð>Ñ>Ô>ˆ	Ø@ð 		%ð 		%ˆAØ�1�q‘5‰y˜1Š}ˆ}Ø×"Ò" A¨¨A©¡I¨q°!°a¸!±e±)Ð#<Ñ=Ô=Ð=Ø�Y˜q‘\”\�Ø�i  A¨¡E¡	Ñ*Ô*�å&×8Ò8¸Ñ=Ô=Ý(×:Ò:¸2Ñ>Ô>ñ?ð ð ˜1�}�}’}�}˜q 1™u’}�}�}�}�}�}øð		%ð 		%r3   ))Trú   )©ru  F)éK   F)Trø   )rž  ©rŸ  T)Tr÷   )©ru  Tr   )F)r   gR¸…ëQè?g¤p=
×£è?))rá   Tr¡  r   zmethod, lims, casesc                 óš  — |r t          j        d¬¦  «        } |j        |Ž }nt          j        |¦  «        }t          j        d¬¦  «        }|D ]|\  }}|                     |¦  «         |                     |¦  «        }	d„ |	D ¦   «         }
|r t          |
¦  «        dk    sJ ||f¦   «         ‚Œ]t          |
¦  «        dk    sJ ||f¦   «         ‚Œ}dS )z,
        Test minor/major displays.
        Tr   c                 ó8   — g | ]}t          |¦  «        d k    ¯|‘ŒS r˜   ©r�   ©r™   Úfs     r1   r›   z:TestLogitFormatter.test_minor_vs_major.<locals>.<listcomp>œ  ó#   € Ð;Ð;Ð;˜aµ°A±´¸²
°
˜°
°
°
r3   r   N)	r)   rÿ   r+   r;   r<   r‘  Úset_minor_thresholdÚformat_ticksr�   )r,   Úmethodr   ÚcasesÚmin_locr  Úmin_formÚ	thresholdÚ	has_minorÚ	formattedÚlabelleds              r1   Útest_minor_vs_majorz&TestLogitFormatter.test_minor_vs_major�  s  € ð ð 	#ÝÔ*°Ð6Ñ6Ô6ˆGØ'�GÔ'¨Ð.ˆEˆEå”H˜T‘N”NˆEÝÔ)°Ð5Ñ5Ô5ˆØ$)ð 	Bð 	BÑ ˆI�yØ×(Ò(¨Ñ3Ô3Ð3Ø ×-Ò-¨eÑ4Ô4ˆIØ;Ð; 9Ð;Ñ;Ô;ˆHØð BÝ˜8‘}”} qÒ(Ð(Ð(¨9°iÐ*@Ñ(Ô(Ð(Ð(å˜8‘}”}¨Ò)Ð)Ð)¨I°yÐ+AÑ)Ô)Ð)Ð)ð	Bð 	Br3   c                 ó&  — t          j        d¬¦  «        }t          j        d¬¦  «        }|                     dd¦  «        }dD ]M}|                     |¦  «         |                     |¦  «        }d„ |D ¦   «         }t          |¦  «        |k    sJ ‚ŒNdS )z1
        Test the parameter minor_number
        Tr   rx   r   )r   rl   rQ   r  c                 ó8   — g | ]}t          |¦  «        d k    ¯|‘ŒS r˜   r¤  r¥  s     r1   r›   z8TestLogitFormatter.test_minor_number.<locals>.<listcomp>¬  r§  r3   N)r)   rÿ   r‘  r+   Úset_minor_numberr©  r�   )r,   r¬  r­  r  Úminor_numberr°  r±  s          r1   Útest_minor_numberz$TestLogitFormatter.test_minor_number¢  s¬   € õ Ô&¨TÐ2Ñ2Ô2ˆÝÔ)°Ð5Ñ5Ô5ˆØ×#Ò# D¨(Ñ3Ô3ˆØ)ð 	1ð 	1ˆLØ×%Ò% lÑ3Ô3Ð3Ø ×-Ò-¨eÑ4Ô4ˆIØ;Ð; 9Ð;Ñ;Ô;ˆHÝ�x‘=”= LÒ0Ð0Ð0Ð0Ð0ð		1ð 	1r3   c                 óö   — d}d}d}t          j        d¬¦  «        } ||¦  «        |k    sJ ‚|                     d¦  «          ||¦  «        |k    sJ ‚|                     d¦  «          ||¦  «        |k    sJ ‚dS )z1
        Test the parameter use_overline
        r�  z$\mathdefault{1-10^{-2}}$z"$\mathdefault{\overline{10^{-2}}}$Fr�  TN)r)   r‘  r�  )r,   rš   Úfx1Úfx2Úforms        r1   Útest_use_overlinez$TestLogitFormatter.test_use_overline¯  s‘   € ð ˆØ*ˆØ3ˆÝÔ%°5Ð9Ñ9Ô9ˆØˆt�A‰wŒw˜#Š~ˆ~ˆ~ˆ~Ø×Ò˜$ÑÔÐØˆt�A‰wŒw˜#Š~ˆ~ˆ~ˆ~Ø×Ò˜%Ñ Ô Ð Øˆt�A‰wŒw˜#Š~ˆ~ˆ~ˆ~ˆ~ˆ~r3   c                 óÚ   — t          j        ¦   «         }d |d¦  «        v sJ ‚|                     d¦  «         d |d¦  «        v sJ ‚|                     d¦  «         d |d¦  «        v sJ ‚dS )z-
        Test the parameter one_half
        z\frac{1}{2}r   z1/2zone halfN)r)   r‘  Úset_one_half)r,   r»  s     r1   Útest_one_halfz TestLogitFormatter.test_one_half½  s‹   € õ Ô%Ñ'Ô'ˆØ   c¡¤Ð*Ð*Ð*Ð*Ø×Ò˜%Ñ Ô Ð Ø˜˜˜S™	œ	Ð!Ð!Ð!Ð!Ø×Ò˜*Ñ%Ô%Ð%Ø˜T˜T #™YœYÐ&Ð&Ð&Ð&Ð&Ð&r3   r™  )r	   éý   iò  c                 óP  — t          j        dd|¦  «        dd…         }t          j        ¦   «         }|D ]q}|                     |¦  «        }|                     d¦  «        rdt          |dd …         ¦  «        z
  }nt          |¦  «        }t          ||z
  ¦  «        d|z  k     sJ ‚Œrd S )Nr   r   r   z1-r   )r;   rŒ   r)   r‘  r�  Ú
startswithr  Úabs)r,   r™  r  r»  rš   rˆ  r”  s          r1   Útest_format_data_shortz)TestLogitFormatter.test_format_data_shortÈ  s³   € åŒ{˜1˜a Ñ#Ô# A b DÔ)ˆÝÔ%Ñ'Ô'ˆØð 	'ð 	'ˆAØ×'Ò'¨Ñ*Ô*ˆBØ�}Š}˜TÑ"Ô"ð Ø�˜r ! " "œv™œÑ&��å˜2‘Y”Y�Ý�q˜2‘v‘;”;  Q¡Ò&Ð&Ð&Ð&Ð&ð	'ð 	'r3   N)r8   r9   r:   rô   r…  r@   rA   rB   r‰  rþ   r  r’  r2   r–  r;   ÚexprŒ   r�  Úlims_minor_majorr²  r·  r¼  r¿  rÄ  rC   r3   r1   r{  r{  #  s  € € € € € Øð<ð <ñ „\ð<ð@ „[×ÒØð	
ð 	
ð 	
ñ
ô 
ð.ð .ñ
ô 
ð.ð �&Ø*Ð*˜U˜U 1 b™\œ\Ð*Ñ*Ô*Ø
0Ð
0 5 5¨¨B¡<¤<Ð
0Ñ
0Ô
0ñ	1àˆ'ñ	ñô €Kð „[×Ò˜S +Ñ.Ô.ð	+ð 	+ñ /Ô.ð	+ð „[×Ò˜SÐ"?Ñ@Ô@ðð ñ AÔ@ðð „[×Ò˜S ! q¨6¨2¬6°;°2´;¸rÀ1ÀbÑ3IÔ3IÐ2IÑ+JÔ+JÑ'JÑ"KÑLÔLð%ð %ñ MÔLð%ð ð ð Ðð „[×ÒÐ2Ð4DÑEÔEðBð Bñ FÔEðBð(1ð 1ð 1ðð ð ð	'ð 	'ð 	'ð „[×Ò˜S /Ñ2Ô2ð	'ð 	'ñ 3Ô2ð	'ð 	'ð 	'r3   r{  c                   ó   — e Zd Zd„ ZdS )ÚTestFormatStrFormatterc                 óP   — t          j        d¦  «        }d |d¦  «        k    sJ ‚d S )Nz%05dÚ00002r   )r)   ÚFormatStrFormatterrª  s     r1   r2   z!TestFormatStrFormatter.test_basicÖ  s1   € åÔ-¨fÑ5Ô5ˆØ˜(˜( 1™+œ+Ò%Ð%Ð%Ð%Ð%Ð%r3   N)r8   r9   r:   r2   rC   r3   r1   rÈ  rÈ  Õ  s#   € € € € € ð&ð &ð &ð &ð &r3   rÈ  c                   ó^   — e Zd ZddgZej                             de¦  «        d„ ¦   «         ZdS )ÚTestStrMethodFormatter)z{x:05d})r   rÊ  )z{x:03d}-{pos:02d})r   r   z002-01zformat, input, expectedc                 óD   — t          j        |¦  «        } ||Ž |k    sJ ‚d S re  )r)   ÚStrMethodFormatter)r,   ÚformatÚinputr/   rÌ  s        r1   r2   z!TestStrMethodFormatter.test_basicâ  s/   € åÔ(¨Ñ0Ô0ˆØˆs�Eˆ{˜hÒ&Ð&Ð&Ð&Ð&Ð&r3   N)r8   r9   r:   r'  r@   rA   rB   r2   rC   r3   r1   rÍ  rÍ  Ü  sQ   € € € € € à"Ø/ð€Ið
 „[×ÒÐ6¸	ÑBÔBð'ð 'ñ CÔBð'ð 'ð 'r3   rÍ  c                   ó^   — e Zd Zg d¢Zej                             de¦  «        d„ ¦   «         ZdS )ÚTestEngFormatter))FççÆô„EJ“À)z
-1.23457 kú-1 kz-1.23 k)TrÔ  )u   âˆ’1.23457 kõ   âˆ’1 ku	   âˆ’1.23 k)FçÞƒBÊÀó¿)z-1.23457rŠ  z-1.23)Tr×  )u
   âˆ’1.23457r‰  u   âˆ’1.23)Fç_c97Ýš¿¿)z
-123.457 mz-123 mz	-123.46 m)TrØ  )u   âˆ’123.457 mu   âˆ’123 mu   âˆ’123.46 m)FçQ^•-':T¿)z
-1.23457 mz-1 mz-1.23 m)TrÙ  )u   âˆ’1.23457 mu   âˆ’1 mu	   âˆ’1.23 m)Tg       €©rü  rü  z0.00©Tr   rÚ  rÛ  )Tg›áÀm¶´>)u
   1.23457 Âµu   1 Âµu   1.23 Âµ)Tg_c97Ýš¿?)z	123.457 mz123 mz123.46 m)Try   )ú100 mrÜ  z100.00 m)Tr   )rý  rý  z1.00)TgÞƒBÊÀó?)z1.23457rý  z1.23)Tg33333?�@)z999.9ú1 kz999.90)Tg*:’Ëÿ?�@©rÝ  rÝ  ú1.00 k)Fç*:’Ëÿ?�À)rÕ  rÕ  z-1.00 k)Trà  )rÖ  rÖ  u	   âˆ’1.00 k)TrÇ   rÞ  )Tié  )z1.001 krÝ  rß  )Ti¡† )z	100.001 kz100 kz100.00 k)Tg¬Z¤$.A)z	987.654 kz988 kz987.65 k)TgîäÜuË�E)ú1230 Yrá  z	1230.00 Yzunicode_minus, input, expectedc                 óÐ  ‡‡	‡
— |t           j        d<   dŠ	dŠ|}t          j        ¦   «         t          j        d¬¦  «        t          j        d¬¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚Œˆˆ	fd„|D ¦   «         }t          j        ‰	¬¦  «        t          j        ‰	d¬	¦  «        t          j        ‰	d¬	¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚Œd
D ]ñŠ
ˆˆ	ˆ
fd„|D ¦   «         }t          j        ‰	‰
¬¦  «        t          j        ‰	d‰
¬¦  «        t          j        ‰	d‰
¬¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚Œˆ
fd„|D ¦   «         }t          j        ‰
¬¦  «        t          j        d‰
¬¦  «        t          j        d‰
¬¦  «        f}t	          ||¦  «        D ]\  }} ||¦  «        |k    sJ ‚ŒŒòdS )aá  
        Test the formatting of EngFormatter for various values of the 'places'
        argument, in several cases:

        0. without a unit symbol but with a (default) space separator;
        1. with both a unit symbol and a (default) space separator;
        2. with both a unit symbol and some non default separators;
        3. without a unit symbol but with some non default separators.

        Note that cases 2. and 3. are looped over several separator strings.
        rŒ  r“  Ú
0123456789r   )Úplacesr   c              3   óF   •K  — | ]}|d          ‰v r|dz   ‰z   n|‰z   V — ŒdS ©r   ú NrC   )r™   Ú_sÚDIGITSÚUNITs     €€r1   ú	<genexpr>z/TestEngFormatter.test_params.<locals>.<genexpr>1  sV   øè è € ð :ð :Ø*,ð +-¨R¬&°FÐ*:Ð*:�r˜C‘x $‘�Ø ™Ið:ð :ð :ð :ð :ð :r3   )Úunit)rì  rä  )rë  u   â€¯z@_@c              3   ón   •K  — | ]/}|d          ‰v r|‰z   ‰z   n|                      d‰¦  «        ‰z   V — Œ0dS ræ  r  )r™   rè  ré  rê  Ú_seps     €€€r1   rë  z/TestEngFormatter.test_params.<locals>.<genexpr>A  sg   øè è € ð /ð /à!ð 02°"¬v¸Ð/?Ð/?˜2 ™9 tÑ+Ð+Ø "§
¢
¨3°Ñ 5Ô 5¸Ñ <ð/ð /ð /ð /ð /ð /r3   )rì  r¸  )rì  rä  r¸  c              3   óD   •K  — | ]}|                      d ‰¦  «        V — ŒdS )rç  Nr  )r™   rè  rî  s     €r1   rë  z/TestEngFormatter.test_params.<locals>.<genexpr>O  s1   øè è € ÐDÐD°R˜2Ÿ:š: c¨4Ñ0Ô0ÐDÐDÐDÐDÐDÐDr3   )r¸  )rä  r¸  N)r�   r�  r)   ÚEngFormatterrÂ   )r,   r’  rÑ  r/   Úexp_outputsÚ
formattersÚ
_formatterÚ_exp_outputré  rê  rî  s           @@@r1   Útest_paramszTestEngFormatter.test_params  s±  øøø€ ð .;�ŒÐ)Ñ*ØˆØˆð ˆåÔ Ñ"Ô"ÝÔ ¨Ð*Ñ*Ô*ÝÔ ¨Ð*Ñ*Ô*ð
ˆ
õ
 (+¨:°{Ñ'CÔ'Cð 	4ð 	4Ñ#ˆJ˜Ø�:˜eÑ$Ô$¨Ò3Ð3Ð3Ð3Ð3ð
:ð :ð :ð :ð :Ø08ð:ñ :ô :ˆõ Ô  dÐ+Ñ+Ô+ÝÔ  d°1Ð5Ñ5Ô5ÝÔ  d°1Ð5Ñ5Ô5ð
ˆ
õ
 (+¨:°{Ñ'CÔ'Cð 	4ð 	4Ñ#ˆJ˜Ø�:˜eÑ$Ô$¨Ò3Ð3Ð3Ð3Ð3ð =ð 	8ð 	8ˆDð/ð /ð /ð /ð /ð /à%-ð/ñ /ô /ˆKõ Ô$¨$°DÐ9Ñ9Ô9ÝÔ$¨$°q¸dÐCÑCÔCÝÔ$¨$°q¸dÐCÑCÔCðˆJõ
 ,/¨z¸;Ñ+GÔ+Gð 8ð 8Ñ'�
˜KØ!�z %Ñ(Ô(¨KÒ7Ð7Ð7Ð7Ð7ð
 EÐDÐDÐD¸8ÐDÑDÔDˆKåÔ$¨Ð.Ñ.Ô.ÝÔ$¨A°4Ð8Ñ8Ô8ÝÔ$¨A°4Ð8Ñ8Ô8ðˆJõ
 ,/¨z¸;Ñ+GÔ+Gð 8ð 8Ñ'�
˜KØ!�z %Ñ(Ô(¨KÒ7Ð7Ð7Ð7Ð7ð8ð1	8ð 	8r3   N)r8   r9   r:   Úraw_format_datar@   rA   rB   rõ  rC   r3   r1   rÓ  rÓ  è  s[   € € € € € ð#ð #ð #€OðJ „[×ÒÐ=¸ÑOÔOðD8ð D8ñ PÔOðD8ð D8ð D8r3   rÓ  c                  ó¤  — t          j        ¦   «         \  } }|                     g d¢g d¢¦  «         |                     g d¢¦  «         t	          j        d¬¦  «        t	          j        d¬¦  «        fD ]]}|j                             |¦  «         | j         	                    ¦   «          d„ | 
                    ¦   «         D ¦   «         }|g d¢k    sJ ‚Œ^d S )N)r   rt  rÇ   T)Úusetex)ÚuseMathTextc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rC   )Úget_text)r™   Úlabls     r1   r›   z8test_engformatter_usetex_useMathText.<locals>.<listcomp>a  s    € ÐNÐNÐN°˜TŸ]š]™_œ_ÐNÐNÐNr3   )z$0$z$500$z$1$ k)r�   r‚   râ  r‹   r)   rð  r…   r½  rØ  rÙ  Úget_xticklabels)r‡   rˆ   r›  Úx_tick_label_texts       r1   Ú$test_engformatter_usetex_useMathTextrÿ  Y  så   € ÝŒl‰nŒn�G€CˆØ‡G‚GˆNˆNˆN˜N˜N˜NÑ+Ô+Ð+Ø‡M‚M�.�.�.Ñ!Ô!Ð!ÝÔ*°$Ð7Ñ7Ô7ÝÔ*°tÐ<Ñ<Ô<ð>ð >ð >ˆ	à
Œ×$Ò$ YÑ/Ô/Ð/ØŒ
�ŠÑÔÐØNÐN¸×9KÒ9KÑ9MÔ9MÐNÑNÔNÐð !Ð$=Ð$=Ð$=Ò=Ð=Ð=Ð=Ð=ð>ð >r3   c                   óº   — e Zd Zg d¢Zg d¢Zg d¢Zej                             dee¬¦  «        d„ ¦   «         Z	ej                             de¦  «        d„ ¦   «         Z
d	S )
ÚTestPercentFormatter))r	   r   ú%r…  r	   z120%)r	   r   r  r	   éZ   z100%)r	   r   r  r  rs  z90%)r	   r   r  g333333û¿rÞ  z-2%)r	   r   r  g     €V@r	   z90.0%)r	   r   r  gfffffT@r  z80.1%)r	   r   r  g…ëQ¸ŽQ@rs  z70.2%)r	   r   r  gôýÔxéFNÀrÞ  z-60.6%)r	   Nr  é_   r   z95.00%)r   Nr  rG   r   z300%)ç      1@Nr  r   g      !@z6%)r  Nr  r   gÍÌÌÌÌÌ @z5.9%)r   Nr  rU  g�íµ ÷Æ°>z-2000.00000%)r   r   Nr+  r	   z120.00)rŸ  rG   rë  rs  r	   z66.667)r  Nz
^^Foobar$$é   r  z50.0^^Foobar$$)zdecimals=0, x>100%zdecimals=0, x=100%zdecimals=0, x<100%zdecimals=0, x<0%zdecimals=1, x>100%zdecimals=1, x=100%zdecimals=1, x<100%zdecimals=1, x<0%z$autodecimal, x<100%, display_range=1z7autodecimal, x>100%, display_range=6 (custom xmax test)z;autodecimal, x<100%, display_range=8.5 (autodecimal test 1)z;autodecimal, x<100%, display_range=8.4 (autodecimal test 2)z=autodecimal, x<-100%, display_range=1e-6 (tiny display range)zNone as percent symbolzEmpty percent symbolzCustom percent symbol))FFú50\{t}%)FTz50\\\{t\}\%)TFr  )TTr  z2xmax, decimals, symbol, x, display_range, expected)Úidsc                 óÌ   — t          j        |||¦  «        }t          j        ddi¬¦  «        5  |                     ||¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr.  F©Úrc©r)   ÚPercentFormatterrd   re   Ú
format_pct)r,   ÚxmaxÚdecimalsÚsymbolrš   Údisplay_ranger/   r›  s           r1   r2   zTestPercentFormatter.test_basicœ  sÌ   € õ
 Ô,¨T°8¸VÑDÔDˆ	ÝŒ^ ¨uÐ5Ð6Ñ6Ô6ð 	Fð 	FØ×'Ò'¨¨=Ñ9Ô9¸XÒEÐEÐEÐEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fó   ®AÁAÁ Azis_latex, usetex, expectedc                 óÌ   — t          j        d|¬¦  «        }t          j        d|i¬¦  «        5  |                     dd¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nz\{t}%)r  Úis_latexr.  r
  rs  r	   r  )r,   r  rø  r/   rÌ  s        r1   Ú
test_latexzTestPercentFormatter.test_latex¥  sµ   € åÔ&¨hÀÐJÑJÔJˆÝŒ^ ¨vÐ6Ð7Ñ7Ô7ð 	7ð 	7Ø—>’> " cÑ*Ô*¨hÒ6Ð6Ð6Ð6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7r  N)r8   r9   r:   Úpercent_dataÚpercent_idsÚ
latex_datar@   rA   rB   r2   r  rC   r3   r1   r  r  g  s·   € € € € € ðð ð €Lð.ð ð €Kð,ð ð €Jð „[×ÒØ@Ø˜kð ñ +ô +ðFð Fñ+ô +ðFð „[×ÒÐ9¸:ÑFÔFð7ð 7ñ GÔFð7ð 7ð 7r3   r  c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S re  )	r�   r‚   r@   rÐ   Ú	TypeErrorr…   r½  r)   rÏ   ©r‡   rˆ   s     r1   Útest_majformatter_typer  ¬  ó¤   € ÝŒl‰nŒn�G€CˆÝ	Œ•yÑ	!Ô	!ð ;ð ;Ø
Œ×$Ò$¥WÔ%7Ñ%9Ô%9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;ó   °,A)Á)A-Á0A-c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S re  )	r�   r‚   r@   rÐ   r  r…   rn  r)   rÏ   r  s     r1   Útest_minformatter_typer!  ²  r  r  c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S re  )	r�   r‚   r@   rÐ   r  r…   r¾  r)   rY  r  s     r1   Útest_majlocator_typer#  ¸  ó¤   € ÝŒl‰nŒn�G€CˆÝ	Œ•yÑ	!Ô	!ð ;ð ;Ø
Œ×"Ò"¥7Ô#7Ñ#9Ô#9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;r  c                  óì   — t          j        ¦   «         \  } }t          j        t          ¦  «        5  |j                             t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S re  )	r�   r‚   r@   rÐ   r  r…   r�   r)   rY  r  s     r1   Útest_minlocator_typer&  ¾  r$  r  c                  ó    ‡— t          j        ¦   «         Šˆfd„}  | ddd¦  «          | ddd¦  «          | ddd¦  «          | ddd¦  «         d S )Nc                 óZ  •— | |dœ}t          j        |¬¦  «        5  ‰                     dd|¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j                             ¦   «         ¦  «        dk    | k    sJ ‚t          |j                             ¦   «         ¦  «        dk    |k    sJ ‚d S )N)zxtick.minor.visiblezytick.minor.visibler
  r   r   )r�   re   Úadd_subplotr�   r…   Úget_minor_ticksrº   )ÚxminorÚyminorrŒ  r  rˆ   r‡   s        €r1   Úminorticksubplotz,test_minorticks_rc.<locals>.minorticksubplotÇ  sò   ø€ Ø%+Ø%+ð-ð -ˆåŒ^˜rÐ"Ñ"Ô"ð 	*ð 	*Ø—’  A qÑ)Ô)ˆBð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*õ �B”H×,Ò,Ñ.Ô.Ñ/Ô/°!Ò3¸Ò>Ð>Ð>Ð>Ý�B”H×,Ò,Ñ.Ô.Ñ/Ô/°!Ò3¸Ò>Ð>Ð>Ð>Ð>Ð>s   œA Á AÁAFr   Tr   rG   rl   )r�   Úfigure)r-  r‡   s    @r1   Útest_minorticks_rcr/  Ä  sƒ   ø€ Ý
Œ*‰,Œ,€Cð?ð ?ð ?ð ?ð ?ð Ð�U˜E 1Ñ%Ô%Ð%ØÐ�T˜5 !Ñ$Ô$Ð$ØÐ�U˜D !Ñ$Ô$Ð$ØÐ�T˜4 Ñ#Ô#Ð#Ð#Ð#r3   z%remove_overlapping_locs, expected_num))Tr   )Nr   )Frû   c                 ó  — t          j        ddd¬¦  «        }t          j        t          |¦  «        ¦  «        }t	          j        ¦   «         \  }}|                     ||¦  «         |j                             t          j
                             ¦   «         ¦  «         |j                             t          j
                             d¦  «        ¦  «         |j                             t          j
                             d¦  «        ¦  «         |j                             t          j
                             d¦  «        ¦  «         |j                             d¦  «         | �| |j        _        |j        j        }||j                             ¦   «         k    sJ ‚t	          j        |j        |¬	¦  «         |j        j        }||j        j        k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |k    sJ ‚t          |j                             ¦   «         ¦  «        |d
z  k    sJ ‚d S )Nz
2018-11-03z
2018-11-06Ú
datetime64r  z
%a)r   r   r  é   z%H:%Mr!   )Úremove_overlapping_locsr   )r;   r=   Úonesr�   r�   r‚   râ  r…   r¾  rd   ÚdatesÚ
DayLocatorr½  ÚDateFormatterr�   ÚHourLocatorrn  r*  r3  Úget_remove_overlapping_locsÚsetpr�   Úget_minorticklabelsÚget_minorticklines)r3  Úexpected_numÚtrš   r‡   rˆ   ÚcurrentÚnews           r1   Útest_remove_overlaprA  Ö  s  € õ
 	Œ	�, °LÐAÑAÔA€AÝ
Œ•�A‘”‰Œ€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€Mà„H×Ò�sœy×3Ò3Ñ5Ô5Ñ6Ô6Ð6Ø„H× Ò ¥¤×!8Ò!8¸Ñ!@Ô!@ÑAÔAÐAà„H×Ò�sœy×4Ò4°^ÑDÔDÑEÔEÐEØ„H× Ò ¥¤×!8Ò!8¸Ñ!AÔ!AÑBÔBÐBà„H×Ò˜RÑ Ô Ð ØÐ*Ø+BˆŒÔ(ð ŒhÔ.€GØ�r”x×;Ò;Ñ=Ô=Ò=Ð=Ð=Ð=Ý„HˆRŒX¨wÐ7Ñ7Ô7Ð7Ø
Œ(Ô
*€CØ�2”8Ô3Ò3Ð3Ð3Ð3õ ˆrŒx×)Ò)Ñ+Ô+Ñ,Ô,°Ò<Ð<Ð<Ð<åˆrŒx×'Ò'Ñ)Ô)Ñ*Ô*¨lÒ:Ð:Ð:Ð:ÝˆrŒx×+Ò+Ñ-Ô-Ñ.Ô.°,Ò>Ð>Ð>Ð>ÝˆrŒx×*Ò*Ñ,Ô,Ñ-Ô-°¸a±Ò?Ð?Ð?Ð?Ð?Ð?r3   ÚsubÚhiÚaardvark)r   r   c                 ó¼   — t          j        ¦   «         }t          j        t          ¦  «        5  |                     | ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÝ   )r)   rÏ   r@   rÐ   rÑ   rS   )rB  Úlls     r1   Útest_bad_locator_subsrG  û  sš   € õ 
Ô	Ñ	Ô	€BÝ	Œ•zÑ	"Ô	"ð  ð  Ø
�Š˜3ˆÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ­AÁAÁArI   )r   r   rG   rû   r,  c           	      ó2  — t          j        ¦   «         }|                     | ¬¦  «         dD ]j}|                     d|¦  «        }t	          j        t	          j        |                     dd¦  «        ¦  «        ¦  «        dk                         ¦   «         sJ ‚Œkd S )NrH   )r   rá   rû   rM  r!   rs  r	   rÇ   r   r   é–   r   )r)   rÏ   rS   r+   r;   Údiffr  rÜ   )rI   rF  Útopr  s       r1   Útest_small_range_loglocatorrL    s˜   € õ 
Ô	Ñ	Ô	€BØ‡M‚M˜8€MÑ$Ô$Ð$Ø/ð Fð FˆØ—’˜r 3Ñ'Ô'ˆÝ”�œ §¢°°3Ñ!7Ô!7Ñ8Ô8Ñ9Ô9¸QÒ>×CÒCÑEÔEÐEÐEÐEÐEðFð Fr3   c                  óº   — t          j        ¦   «         }  | d¦  «        dk    sJ ‚|                      d¦  «        dk    sJ ‚|                      d¦  «        dk    sJ ‚d S )Nr   rë  )r)   ÚNullFormatterrÇ  r�  ©r›  s    r1   Útest_NullFormatterrP    sm   € ÝÔ%Ñ'Ô'€IØˆ9�S‰>Œ>˜RÒÐÐÐØ× Ò  Ñ%Ô%¨Ò+Ð+Ð+Ð+Ø×&Ò& sÑ+Ô+¨rÒ1Ð1Ð1Ð1Ð1Ð1r3   r›  c                 ó   — d| › �S )Nzval: rC   )r  s    r1   ú<lambda>rR    s   €  K¨A K K€ r3   )ÚfooÚbarc                 ó˜   — |                       ¦   «         dk    sJ ‚|                      d¦  «         |                       ¦   «         dk    sJ ‚d S )Nrë  rd   )Ú
get_offsetÚset_offset_stringrO  s    r1   Útest_set_offset_stringrX    sX   € ð ×ÒÑ!Ô! RÒ'Ð'Ð'Ð'Ø×Ò Ñ&Ô&Ð&Ø×ÒÑ!Ô! UÒ*Ð*Ð*Ð*Ð*Ð*r3   )=Ú
contextlibr   r+  r¯  rà  r‚  Únumpyr;   Únumpy.testingr   r   r@   Ú
matplotlibrd   Úmatplotlib.pyplotÚpyplotr�   Úmatplotlib.tickerÚtickerr)   r   rE   rW   rt   rÅ   ræ   rí   rö   r.  r4  r:  r@  r{  ró  rû  r!  r)  r3  r{  rÈ  rÍ  rÓ  rÿ  r  r  r!  r#  r&  r/  rA   rB   rA  ÚzerosrG  r0  r1  rL  rP  ÚFuncFormatterÚFixedFormatterrX  rC   r3   r1   ú<module>rd     s6  ðØ "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	à Ð Ð Ð Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #ðCð Cð Cð Cð Cñ Cô Cð Cð4+ð +ð +ð +ð +ñ +ô +ð +ð"&ð &ð &ð &ð &ñ &ô &ð &ðDdDð dDð dDð dDð dDñ dDô dDð dDðN,(ð ,(ð ,(ð ,(ð ,(ñ ,(ô ,(ð ,(ð^ð ð ð ð ñ ô ð ð$ð $ð $ð $ð $ñ $ô $ð $ð"O!ð O!ð O!ð O!ð O!ñ O!ô O!ð O!ðd	 ð 	 ð 	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð
!ð 
!ð 
!ð 
!ð 
!ñ 
!ô 
!ð 
!ð!ð !ð !ð !ð !ñ !ô !ð !ðg7ð g7ð g7ð g7ð g7ñ g7ô g7ð g7ðTEð Eð Eð Eð Eñ Eô Eð EðP$ð $ð $ð $ð $ñ $ô $ð $ð(ð (ð (ð (ð (ñ (ô (ð (ðD/ð /ð /ð /ð /ñ /ô /ð /ð&0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð:Jð Jð Jð Jð Jñ Jô Jð JðZo'ð o'ð o'ð o'ð o'ñ o'ô o'ð o'ðd&ð &ð &ð &ð &ñ &ô &ð &ð	'ð 	'ð 	'ð 	'ð 	'ñ 	'ô 	'ð 	'ðn8ð n8ð n8ð n8ð n8ñ n8ô n8ð n8ðb>ð >ð >ðB7ð B7ð B7ð B7ð B7ñ B7ô B7ð B7ðJ;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ð$ð $ð $ð$ „×ÒÐ@ð&ñ'ô 'ð@ð @ñ	'ô 'ð@ðB „×Ò˜Ø	ˆ:ÐØ€B„HˆVÑÔð!ñ ô ð ð  ñô ð ð „×Ò˜ \ \ \Ñ2Ô2Ø„×Ò�9ÑÔðFð Fñ Ôñ 3Ô2ðFð2ð 2ð 2ð „×Ò˜Ø€GÔÐ/Ð/Ñ0Ô0Ø€GÔ˜>Ñ*Ô*ð',ñ -ô -ð+ð +ñ-ô -ð+ð +ð +r3   