a
    lh                     @   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   N/var/www/auris/lib/python3.9/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J t td dks(J t td dks<J t td dksPJ t td	 d
ksdJ t td dksxJ t tdksJ t td dksJ t td dksJ t td dksJ t td dksJ t td	 dksJ 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sPJ t td d	ksdJ t td
 tksxJ t ttksJ t td dksJ t td dksJ t td tksJ t td dksJ 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    r3   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sRJ t td tksfJ t td	 d
kszJ t td tksJ t ttksJ t td dksJ t td dksJ t td tksJ t td dksJ 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"   argsupretty_v_8upretty_v_11r#   	upretty_sr$   upretty_d_7r   r   r   r   test_pretty_print_unicode_vz   s    r9   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sPJ t td	 d
ksdJ t td dksxJ t tdksJ t td dksJ t td dksJ t td dksJ t td dksJ 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   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sJ t||ksJ |d}
d| |
d	  |
d
  }}d|
d  ||
d |	  ||
d |  }|| }d}t||ksTJ 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?   r@   r   r   yir   ZcrossZdoitr   )r<   r=   r>   r?   r@   ZdelopZCC_rF   ZxhatrA   ZtenZepsmuZBxZvecBZvecEZvecB_strZvecE_strr   r   r   test_issue_23058   s,    , 		,rI   c                  C   s~   t dg dg dd} | j dks(J | j dks:J | jjdksJJ | jjdksZJ | jjd	ksjJ | jjd
kszJ d S )NA)xrF   z)rG   jk)Zvector_namesZvariable_nameszA.izA.xZi_AZx_Az\mathbf{{i}_{A}}z\mathbf{\hat{x}_{A}})r   rG   __str__rK   Z_pretty_formZ_latex_form)rJ   r   r   r   test_custom_names   s    
rP   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_axisrN   r   r"   r$   appendZzerorG   rM   rK   rF   r   r5   r/   r6   r0   r#   r7   r1   r8   r2   r%   r3   r9   r;   rI   rP   r   r   r   r   <module>   sV   	 ,(*
2