§
    OŠtjÓ  ã                   óT   — d dl mZ d dlmZ d dlmZ d dlZd„ Zd„ Zd„ Z	dd
„Z
dd„ZdS )é    )ÚFloat)ÚDummy)ÚlambdifyNc                 óŒ   — | €dS t          | t          ¦  «        rdS t          j        | ¦  «         ot          j        | ¦  «         S )z)Check if a floating point number is validNF)Ú
isinstanceÚcomplexÚmathÚisinfÚisnan)Úxs    úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/plotting/textplot.pyÚis_validr      sD   € à€yØˆuÝ�!•WÑÔð ØˆuÝŒz˜!‰}Œ}ÐÐ2¥T¤Z°¡]¤]Ð!2Ð2ó    c                 ó²  — g }||z
  }||z   dz  }t          |¦  «        D ]·}t          | |         ¦  «        r‹| |         |z
  |z  }	t          |	¦  «        s|                     d¦  «         ŒJt          |	|z  |dz  z   |dz
  z  |z  ¦  «                             ¦   «         }
t          |
¦  «        }
|                     |
¦  «         Œ¢|                     d¦  «         Œ¸|S )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Ø�2‰g˜‰]€Få�1‰XŒXð 
ð 
ˆÝ�A�a”D‰>Œ>ð 		Ø˜Aœ$ ™-¨4Ñ/ˆJÝ˜JÑ'Ô'ð 'Ø—’˜TÑ"Ô"Ð"Ð"å  *¨Q¡,°°1±Ñ"4¸¸1¹Ñ!=¸aÑ!?Ñ@Ô@×FÒFÑHÔH�Ý˜x™=œ=�Ø—’˜XÑ&Ô&Ð&Ð&à�LŠL˜ÑÔÐÐØ€Lr   c                 óB   ‡ ‡‡— ˆˆ ˆfd„t          ‰¦  «        D ¦   «         S )Nc                 ó2   •— g | ]}‰‰‰z
  |z  ‰d z
  z  z   ‘ŒS )r   © )Ú.0r   ÚnumÚstartÚstops     €€€r   ú
<listcomp>zlinspace.<locals>.<listcomp>)   s0   ø€ ÐEÐEÐE°QˆE�T˜E‘\ QÑ&¨#¨a©%Ñ0Ñ0ÐEÐEÐEr   )r   )r'   r(   r&   s   ```r   Úlinspacer*   (   s+   øøø€ ØEÐEÐEÐEÐEÐE½%À¹*¼*ÐEÑEÔEÐEr   é7   é   c              #   ó$  K  — | j         }t          |¦  «        dk    r"t          d                     |¦  «        ¦  «        ‚|r|                     ¦   «         nt          ¦   «         }t          |g| ¦  «        }t          |t          ¦  «        r|j	        dk    r|j
        }t          |t          ¦  «        r|j	        dk    r|j
        }t          |¦  «        }t          |¦  «        }t          |||¦  «        }g }|D ]S}		 |                      ||	¦  «        ¦  «         Œ"# t          t          t          f$ r |                     d¦  «         Y ŒPw xY wt!          t#          t$          |¦  «        ¦  «        }
|
rDt'          |
¦  «        }t)          |
¦  «        }||k    r|rt+          dd|z  g¦  «        \  }}nd\  }}nd\  }}||z
  }t-          j        t-          j        |¦  «        ¦  «        dz
  }|dz  }t3          ||¦  «        }t3          ||¦  «        }t5          |||||¦  «        }t          |||¦  «        }d}t7          |dz
  dd¦  «        D �]2}d	g|z  }t7          |¦  «        D ]…}||         |k    rw|dk    s||dz
           |dz
  k    r!||dz
  k    s||dz            |dz   k    rd
||<   ŒG|dk    s||dz
           |dz   k    r!||dz
  k    s||dz            |dz
  k    rd||<   Œ€d||<   Œ†|dk    rt7          |¦  «        D ]}d||<   Œ|d|dz  |dz
  fv r'd||         z                       |¦  «        d|…         }nd	|z  }d                     |¦  «        }||dz  k    r|                     d	d¦  «        }|dz   |z   V — �Œ4d	|dz   z  }|d|d         z                       |dz  ¦  «        z  }|dz  dk    r(|d||dz           z                       |dz  ¦  «        z  }n*|d||dz           z                       |dz  dz
  ¦  «        z  }|d|d         z  z  }|V — dS )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_strr\   ,   sž  è è € àÔ€DÝ
ˆ4�y„y�1‚}€}ÝØBßŠV�D‰\Œ\ñô ð 	ð Ð'ˆ�Š‰
Œ
ˆ
¥¡¤€AÝ�!��dÑÔ€AÝ�!•WÑÔð ØŒ6�QŠ;ˆ;Ø”ˆAÝ�!•WÑÔð ØŒ6�QŠ;ˆ;Ø”ˆAÝˆa‰Œ€AÝˆa‰Œ€Aõ 	��A�qÑÔ€AØ
€AØð ð ˆð	Ø�HŠH�Q�Q�s‘V”VÑÔÐÐøå�IÕ'8Ð9ð 	ð 	ð 	Ø�HŠH�T‰NŒNˆNˆNˆNð	øøøõ •6�( AÑ&Ô&Ñ'Ô'€GØð 	Ý�‰\Œ\ˆÝ�‰\Œ\ˆØ�Š8ˆ8Øð Ý  A b¡D 	Ñ*Ô*‘��B�Bà‘��Bøà‰ˆˆBØ�2‰g€GÝ”
�4œ: gÑ.Ô.Ñ/Ô/°!Ñ3€IØ��O€IÝ	ˆr�9Ñ	Ô	€BÝ	ˆr�9Ñ	Ô	€BÝ��1�a˜˜RÑ Ô €Aå�b˜"˜aÑ Ô €Fð €FÝ�1�q‘5˜"˜bÑ!Ô!ð  ñ  ˆØˆE�A‰IˆÝ�q‘”ð 	ð 	ˆAØ�Œt�qŠyˆyØ˜’F�F˜a  A¡œh¨!¨a©%Ò/Ð/°a¸1¸q¹5²j°jÀAÀaÈ!ÁeÄHÐPQÐTUÑPUÒDUÐDUØ�A�a‘D�DØ˜1’f�f  ! a¡%¤¨A°©EÒ 1Ð 1¸¸QÀ¹Uº
¸
ÀaÈÈAÉÄhÐRSÐVWÑRWÒFWÐFWØ�A�a‘D�Dà�A�a‘Døà�Š6ˆ6Ý˜1‘X”Xð ð �Ø��!‘�ð ��A�q‘D˜!˜a™%Ð Ð Ð Ø˜V AœYÑ&×-Ò-¨fÑ5Ô5°g°v°gÔ>ˆFˆFà˜‘ZˆFØ�GŠG�A‰JŒJˆØ��1‘Š9ˆ9Ø—	’	˜#˜sÑ#Ô#ˆAØ�t‰m˜aÑÐÐÐÑð �F˜Q‘JÑ€FØ
ˆt�a˜”d‰{×!Ò! ! Q¡$Ñ'Ô'Ñ'€FØˆ1�u�‚z€zØ�4˜!˜A˜q™Dœ'‘>×(Ò(¨¨A©Ñ.Ô.Ñ.ˆˆà�4˜!˜A˜q™Dœ'‘>×(Ò(¨¨A©¨a©Ñ0Ô0Ñ0ˆØ
ˆd�Q�r”U‰lÑ€FØ
€L€L€L€L€Ls   Ã8DÄ,EÅEc                 óP   — t          | ||||¦  «        D ]}t          |¦  «         ŒdS )aÃ  
    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)r\   Úprint)rL   rM   rN   r   r   Úlines         r   Útextplotr`   ƒ   s;   € õH ˜T 1 a¨¨AÑ.Ô.ð ð ˆÝˆd‰Œˆˆðð r   )r+   r,   )Úsympy.core.numbersr   Úsympy.core.symbolr   Úsympy.utilities.lambdifyr   r	   r   r!   r*   r\   r`   r$   r   r   ú<module>rd      s«   ðØ $Ð $Ð $Ð $Ð $Ð $Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -à €€€ð3ð 3ð 3ðð ð ð.Fð Fð FðTð Tð Tð Tðn%ð %ð %ð %ð %ð %r   