ó
    Š*£hÓ  ã                   óV   • S SK Jr  S SKJr  S SKJr  S SKrS rS rS r	S
S jr
S
S	 jrg)é    )ÚFloat)ÚDummy)ÚlambdifyNc                 ó°   • U c  g[        U [        5      (       a  g[        R                  " U 5      (       + =(       a    [        R                  " U 5      (       + $ )z)Check if a floating point number is validF)Ú
isinstanceÚcomplexÚmathÚisinfÚisnan)Úxs    ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/plotting/textplot.pyÚis_validr      s;   € à�yØÜ�!”W×ÑØÜ�zŠz˜!‹}Ô×2¤T§Z¢Z°£]Ô!2Ð2ó    c                 ót  • / nXC-
  nXC-   S-  n[        U5       H›  n[        X   5      (       au  X   U-
  U-  n	[        U	5      (       d  UR                  S5        MB  [        X’-  US-  -   US-
  -  U-  5      R	                  5       n
[        U
5      n
UR                  U
5        MŠ  UR                  S5        M�     U$ )z{Rescale the given array `y` to fit into the integer values
between `0` and `H-1` for the values between ``mi`` and ``ma``.
é   Né   )Úranger   Úappendr   ÚroundÚint)ÚyÚWÚHÚmiÚmaÚy_newÚnormÚoffsetr   Ú
normalizedÚrescaleds              r   Úrescaler!      s¯   € ð €Eà‰7€DØ‰g˜‰]€Fä�1ŽXˆÜ�A‘D�>‰>Ø™$ ™-¨4Ñ/ˆJÜ˜J×'Ñ'Ø—‘˜TÖ"ä  *¡,°°1±Ñ"4¸¸1¹Ñ!=¸aÑ!?Ó@×FÑFÓH�Ü˜x›=�Ø—‘˜XÖ&à�L‰L˜Öñ ð €Lr   c                 ó^   • [        U5       Vs/ s H  o0X-
  U-  US-
  -  -   PM     sn$ s  snf )Nr   )r   )ÚstartÚstopÚnumr   s       r   Úlinspacer&   (   s1   € Ü:?À¼*ÓEº*°Q�T‘\ QÑ&¨#¨a©%Ñ0Ô0¹*ÑEÐEùÒEs   Ž*c              #   óZ  #   • U R                   n[        U5      S:”  a  [        SR                  U5      5      eU(       a  UR	                  5       O	[        5       n[        U/U 5      n[        U[        5      (       a  UR                  S:X  a  UR                  n[        U[        5      (       a  UR                  S:X  a  UR                  n[        U5      n[        U5      n[        XU5      n/ nU H  n	 UR                  U" U	5      5        M     [!        [#        [$        U5      5      n
U
(       a:  ['        U
5      n[)        U
5      nX¼:X  a  U(       a  [+        SSU-  /5      u  pËO	Su  pËOSu  pËX¼-
  n[,        R.                  " [,        R0                  " U5      5      S-
  nUS-  n[3        XÎ5      n[3        X¾5      n[5        XƒXLU5      n[        XËU5      nSn[7        US-
  SS5       GH  nS	/U-  n[7        U5       H{  nUU   U:X  d  M  US:X  d  UUS-
     US-
  :X  a  UUS-
  :X  d  UUS-      US-   :X  a  S
UU'   MB  US:X  d  UUS-
     US-   :X  a  UUS-
  :X  d  UUS-      US-
  :X  a  SUU'   Mv  SUU'   M}     US:X  a  [7        U5       H  nSUU'   M
     USUS-  US-
  4;   a  SUU   -  R9                  U5      SU nOS	U-  nSR;                  U5      nUUS-  :X  a  UR=                  S	S5      nUS-   U-   v •  GM     S	US-   -  nUSUS   -  R?                  US-  5      -  nUS-  S:X  a   USXcS-     -  R?                  US-  5      -  nO"USXcS-     -  R?                  US-  S-
  5      -  nUSUS   -  -  nUv •  g! [        [        [        4 a    UR                  S5         GM¹  f = f7f)z#Generator for the lines of the plotr   z4The expression must have a single variable. (Got {})r   Nr   )éÿÿÿÿr   r(   é   Ú Ú/Ú\Ú.Ú_z%gÚ Ú-z |) Úfree_symbolsÚlenÚ
ValueErrorÚformatÚpopr   r   r   r   ÚimagÚrealÚfloatr&   r   Ú	TypeErrorÚZeroDivisionErrorÚlistÚfilterr   ÚmaxÚminÚsortedr	   ÚfloorÚlog10r   r!   r   ÚrjustÚjoinÚreplaceÚljust)ÚexprÚaÚbr   r   Úfreer   Úfr   ÚvalÚy_validr   r   Úy_rangeÚ	precisionÚy_binsÚmarginÚhÚsÚiÚprefixÚbottoms                         r   Útextplot_strrV   ,   s·  é € à×Ñ€DÜ
ˆ4ƒy�1ƒ}ÜØBß‰V�D‹\óð 	ö ˆ�‰Œ
¤£€AÜ�!��dÓ€AÜ�!”W×ÑØ�6‰6�Q‹;Ø—‘ˆAÜ�!”W×ÑØ�6‰6�Q‹;Ø—‘ˆAÜˆa‹€AÜˆa‹€Aô 	��qÓ€AØ
€AÛˆð	Ø�H‰H‘Q�s“VÖñ ô ”6œ( AÓ&Ó'€GÞÜ�‹\ˆÜ�‹\ˆØ‹8ÞÜ  A b¡D 	Ó*‘��Bà‘�øà‰ˆØ‰g€GÜ—
’
œ4Ÿ:š: gÓ.Ó/°!Ñ3€IØ��O€IÜ	ˆrÓ	€BÜ	ˆrÓ	€BÜ��a˜RÓ €Aä�b˜aÓ €Fð €FÜ�1�q‘5˜"˜b×!ˆØˆE�A‰IˆÜ�q–ˆAØ�‰t�q�yØ˜“F˜a  A¡™h¨!¨a©%Ó/°a¸1¸q¹5³jÀAÀaÈ!ÁeÁHÐPQÐTUÑPUÓDUØ�A�a“DØ˜1“f  ! a¡%¡¨A°©EÓ 1¸¸QÀ¹U»
ÀaÈÈAÉÁhÐRSÐVWÑRWÓFWØ�A�a“Dà�A�a“Dñ ð �‹6Ü˜1–X�Ø��!“ñ ð ��A�q‘D˜!˜a™%Ð Ó Ø˜V A™YÑ&×-Ñ-¨fÓ5°g°vÐ>‰Fà˜‘ZˆFØ�G‰G�A‹JˆØ��1‘‹9Ø—	‘	˜#˜sÓ#ˆAØ�t‰m˜aÑÕñ/ "ð4 �F˜Q‘JÑ€FØ
ˆt�a˜‘d‰{×!Ñ! ! Q¡$Ó'Ñ'€FØˆ1�u�ƒzØ�4˜!˜q™D™'‘>×(Ñ(¨¨A©Ó.Ñ.‰à�4˜!˜q™D™'‘>×(Ñ(¨¨A©¨a©Ó0Ñ0ˆØ
ˆd�Q�r‘U‰lÑ€FØ
ƒLøôw œIÔ'8Ð9ó 	Ø�H‰H�T�NˆNð	üs2   ‚C/N+Ã2M=Ä	C8N+ÈE8N+Í=&N(Î#N+Î'N(Î(N+c                 óB   • [        XX#U5       H  n[        U5        M     g)aC  
Print a crude ASCII art plot of the SymPy expression 'expr' (which
should contain a single symbol, e.g. x or something else) over the
interval [a, b].

Examples
========

>>> from sympy import Symbol, sin
>>> from sympy.plotting import textplot
>>> t = Symbol('t')
>>> textplot(sin(t)*t, 0, 15)
 14 |                                                  ...
    |                                                     .
    |                                                 .
    |                                                      .
    |                                                .
    |                            ...
    |                           /   .               .
    |                          /
    |                         /      .
    |                        .        .            .
1.5 |----.......--------------------------------------------
    |....       \           .          .
    |            \         /                      .
    |             ..      /             .
    |               \    /                       .
    |                ....
    |                                    .
    |                                     .     .
    |
    |                                      .   .
-11 |_______________________________________________________
     0                          7.5                        15
N)rV   Úprint)rF   rG   rH   r   r   Úlines         r   ÚtextplotrZ   ƒ   s   € ôH ˜T a¨AÖ.ˆÜˆdŽò /r   )é7   é   )Úsympy.core.numbersr   Úsympy.core.symbolr   Úsympy.utilities.lambdifyr   r	   r   r!   r&   rV   rZ   © r   r   Ú<module>ra      s-   ðÝ $Ý #Ý -ã ò3òò.FôTõn%r   