o
    g                     @   sJ  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use_unicode	wrap_linexprettyexpr r   W/var/www/visachat/venv/lib/python3.10/site-packages/sympy/vector/tests/test_printing.pyr         r   c                 C   s   t | dddS )zUnicode pretty-printingTFr   r   r   r   r   r   upretty   r   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
J t td dksJ t td dksJ t td dks(J t td	 d
ks2J t td dks<J t tdksDJ t td dksNJ t td dksXJ t td dksbJ t td dkslJ t td	 dksvJ 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sdr   r   r   r   test_str_printing[   s   r(   c                   C   s   t td dks
J t td dksJ t td dksJ t td tks(J t td d	ks2J t td
 tks<J t ttksDJ t td dksNJ t td dksXJ t td tksbJ t td dkslJ 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%   
pretty_v_8pretty_v_11r&   pretty_sr'   
pretty_d_7r   r   r   r   test_pretty_printing_asciik   s   r6   c                   C   s   t td dks
J t td dksJ t td dksJ t td jdks)J t td tks3J t td	 d
ks=J t td tksGJ t ttksOJ t td dksYJ t td dkscJ t td tksmJ t td dkswJ d S )Nr   r   r   r)   r#   r*   z((a) i_N, (-b) j_N)r    r   r+   r,   r-   r.   r/   r0   r1   )	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
J t td dksJ t td dksJ t td dks(J t td	 d
ks2J t td dks<J t tdksDJ t td dksNJ t td dksXJ t td dksbJ t td dkslJ 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   test_latex_printing   s   r>   c                  C   sV  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slJ t||kstJ |d}
d| |
d	  |
d
 }}d|
d  ||
d |	  ||
d |  }|| }d}t||ksJ d S )Nr   )symbolssincospiUnevaluatedExprr   t10T)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⋅π           ⎠    r0   uo   ⎛    -4    ⎛    5⎞    ⎛      -3⎞⎞     
⎝2⋅10  ⋅cos⎝t⋅10 ⎠⋅sin⎝y_C⋅10  ⎠⎠ i_C )sympyr?   r@   rA   rB   rC   r   r   yir   crossdoitr   )r?   r@   rA   rB   rC   delopCC_rK   xhatrD   tenepsmuBxvecBvecEvecB_strvecE_strr   r   r   test_issue_23058   s,   , 		,rZ   c                  C   s~   t dg dg dd} | j dksJ | j dksJ | jjdks%J | jjdks-J | jjd	ks5J | jjd
ks=J d S )NA)xrK   z)rL   jk)vector_namesvariable_nameszA.izA.xi_Ax_Az\mathbf{{i}_{A}}z\mathbf{\hat{x}_{A}})r   rL   __str__r\   _pretty_form_latex_form)r[   r   r   r   test_custom_names   s   
rg   N)1sympy.core.functionr   sympy.integrals.integralsr   sympy.printing.latexr   sympy.printing.prettyr   r   sympy.vectorr   r   r   r	   	sympy.abcr
   r   r   sympy.testing.pytestr   r   r   orient_new_axisr_   r   r%   r'   appendzerorL   r^   r\   rK   r   r8   r2   r9   r3   r&   r:   r4   r;   r5   r(   r6   r<   r>   rZ   rg   r   r   r   r   <module>   sX   	 ,(*
2