U
    9%e                     @   sL  d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZ d dlmZmZmZ d dlmZ dd	 Zd
d Ze
dZedeejZg Zg Zeej eej eej  eejej  eeej  eeej eej   eed ej ej ej  eed e ej dej e  ej   edZ!eejee!eejd  ej   dZ"dZ#eejej  eeeje eed e ej ee!eej   dZ$dZ%eD ]ZeeejB  qdejd  ej  Z&dZ'dZ(dZ)dZ*dd Z+edd Z,dd Z-dd  Z.d!d" Z/d#d$ Z0d%S )&    )Function)Integral)latex)pretty)
CoordSys3DDelVectorexpress)abc)XFAILc                 C   s   t | dddS )zASCII pretty-printingFZuse_unicodeZ	wrap_linexprettyexpr r   _/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/vector/tests/test_printing.pyr      s    r   c                 C   s   t | dddS )zUnicode pretty-printingTFr   r   r   r   r   r   upretty   s    r   NC      fuh         ⎛   2   ⌠        ⎞    
j_N + ⎜x_C  - ⎮ f(b) db⎟ k_N
      ⎝       ⌡        ⎠    zj_N + /         /       \
      |   2    |        |
      |x_C  -  | f(b) db|
      |        |        |
      \       /         / uy   ⎛ 2    ⎞        ⎛⌠        ⎞    
⎝a  + b⎠ i_N  + ⎜⎮ f(b) db⎟ k_N
                ⎝⌡        ⎠    zy/ 2    \ + /  /       \
\a  + b/ i_N| |        |
           | | f(b) db|
           | |        |
           \/         / u            2
3⋅y_C⋅x_N z         2
3*y_C*x_N ug   ⎛ 2    ⎞                                     
⎝a  + b⎠ (i_N|k_N)  + (3⋅y_C - 3⋅c) (k_N|k_N)zY/ 2    \ (i_N|k_N) + (3*y_C - 3*c) (k_N|k_N)
\a  + b/                                    c                   C   s   t td dkstt td dks(tt td dks<tt td dksPtt td	 d
ksdtt td dksxtt tdkstt td dkstt td dkstt td dkstt td dkstt td	 dkstd S )Nr   0   zN.ir   z(-1)*N.ir   z	N.i + N.j   z&N.j + (C.x**2 - Integral(f(b), b))*N.k	   z	C.k + N.iz3*C.y*N.x**2z	(N.i|N.k)   za*(N.i|N.k)   za*(N.i|N.k) + (-b)*(N.j|N.k)z2(N.j|N.k) + (C.x**2 - Integral(f(b), b))*(N.k|N.k))strvAssertionErrorsdr   r   r   r   test_str_printing[   s    r&   c                   C   s   t td dkstt td dks(tt td dks<tt td tksPtt td d	ksdtt td
 tksxtt ttkstt td dkstt td dkstt td tkstt td dkstd S )Nr   r   r   i_Nr    (a) i_N + (-b) j_Nr   r   (-1) i_N   (0|0)(a) (i_N|k_N) + (-b) (j_N|k_N)   
   ((cos(a)) (i_C|k_N) + (-sin(a)) (j_C|k_N))	r   r"   r#   
pretty_v_8pretty_v_11r$   pretty_sr%   
pretty_d_7r   r   r   r   test_pretty_printing_asciik   s    r4   c                   C   s   t td dkstt td dks(tt td dks<tt td jdksRtt td tksftt td	 d
ksztt td tkstt ttkstt td dkstt td dkstt td t	kstt td dkstd S )Nr   r   r   r'   r    r(   z((a) i_N, (-b) j_N)r   r   r)   r*   r+   r,   r-   r.   r/   )
r   r"   r#   argsupretty_v_8upretty_v_11r$   	upretty_sr%   upretty_d_7r   r   r   r   test_pretty_print_unicode_vz   s    r:   c                   C   s   t td dkstt td dks(tt td dks<tt td dksPtt td	 d
ksdtt td dksxtt tdkstt td dkstt td dkstt td dkstt td dkstd S )Nr   z\mathbf{\hat{0}}r   z\mathbf{\hat{i}_{N}}r   z- \mathbf{\hat{i}_{N}}r    zI\left(a\right)\mathbf{\hat{i}_{N}} + \left(- b\right)\mathbf{\hat{j}_{N}}   zP\left(\mathbf{{x}_{N}} + a^{2}\right)\mathbf{\hat{i}_{N}} + \mathbf{\hat{k}_{N}}r   zk\mathbf{\hat{j}_{N}} + \left(\mathbf{{x}_{C}}^{2} - \int f{\left(b \right)}\, db\right)\mathbf{\hat{k}_{N}}z'3 \mathbf{{y}_{C}} \mathbf{{x}_{N}}^{2}z#(\mathbf{\hat{0}}|\mathbf{\hat{0}})r   zM\left(a\right)\left(\mathbf{\hat{i}_{N}}{\middle|}\mathbf{\hat{k}_{N}}\right)r   z\left(\mathbf{\hat{k}_{C}}{\middle|}\mathbf{\hat{k}_{N}}\right) + \left(\mathbf{\hat{i}_{N}}{\middle|}\mathbf{\hat{k}_{N}}\right)r*   z\left(a^{2} + b\right)\left(\mathbf{\hat{i}_{N}}{\middle|}\mathbf{\hat{k}_{N}}\right) + \left(\int f{\left(b \right)}\, db\right)\left(\mathbf{\hat{k}_{N}}{\middle|}\mathbf{\hat{k}_{N}}\right))r   r"   r#   r$   r%   r   r   r   r   test_latex_printing   s    r<   c                  C   sX  ddl m} m}m}m}m} t }td}|j}|j	}| d}	| ddd}
d| |
d	  |
d
  }}d|
d  ||
d |	  ||
d |  }|| }d| t
|||  |	 }| }d}d}t||kstt||kst|d}
d| |
d	  |
d
  }}d|
d  ||
d |	  ||
d |  }|| }d}t||ksTtd S )Nr   )symbolssincospiUnevaluatedExprr   t10T)Zpositiver   ir   r    r   u-  ⎛     ⎛y_C⎞    ⎛  5  ⎞⎞    
⎜2⋅sin⎜───⎟⋅cos⎝10 ⋅t⎠⎟ i_C
⎜     ⎜  3⎟           ⎟    
⎜     ⎝10 ⎠           ⎟    
⎜─────────────────────⎟    
⎜           4         ⎟    
⎝         10          ⎠    u0  ⎛   4    ⎛  5  ⎞    ⎛y_C⎞ ⎞    
⎜-10 ⋅sin⎝10 ⋅t⎠⋅cos⎜───⎟ ⎟ k_C
⎜                   ⎜  3⎟ ⎟    
⎜                   ⎝10 ⎠ ⎟    
⎜─────────────────────────⎟    
⎝           2⋅π           ⎠    r.   uo   ⎛    -4    ⎛    5⎞    ⎛      -3⎞⎞     
⎝2⋅10  ⋅cos⎝t⋅10 ⎠⋅sin⎝y_C⋅10  ⎠⎠ i_C )Zsympyr=   r>   r?   r@   rA   r   r   yir   crossZdoitr   r#   )r=   r>   r?   r@   rA   ZdelopZCC_rG   ZxhatrB   tenZepsmuZBxZvecBZvecEZvecB_strZvecE_strr   r   r   test_issue_23058   s,    , 		,rL   c                  C   s   t ddddgdddgd} | j d	ks,t| j d
ks>t| jjdksNt| jjdks^t| jjdksnt| jjdks~td S )NAxrG   zrH   jk)Zvector_namesZvariable_nameszA.izA.xZi_AZx_Az\mathbf{{i}_{A}}z\mathbf{\hat{x}_{A}})r   rH   __str__r#   rN   Z_pretty_formZ_latex_form)rM   r   r   r   test_custom_names   s    rS   N)1Zsympy.core.functionr   Zsympy.integrals.integralsr   Zsympy.printing.latexr   Zsympy.printing.prettyr   r   Zsympy.vectorr   r   r   r	   Z	sympy.abcr
   r   r   Zsympy.testing.pytestr   r   r   Zorient_new_axisrQ   r   r"   r%   appendzerorH   rP   rN   rG   r   r6   r0   r7   r1   r$   r8   r2   r9   r3   r&   r4   r:   r<   rL   rS   r   r   r   r   <module>   sV   	 ,(*
2