U
    ˜9%eE  ã                   @   s¾   d dl mZmZ d dlmZmZ d dlmZmZ d dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZmZ d dlmZ d d	lmZmZmZ d d
lmZ d dlmZ e ee ¡Zdd„ Z dS )é    )Ú
DerivativeÚFunction)ÚIÚpi)ÚSymbolÚsymbols)Úsqrt)Úatan2ÚcosÚsin)Úsimplify)ÚepsilonÚmu)Úexp)Úspeed_of_lightÚmÚs©ÚTWave)Úraisesc                     s  t dƒ\‰ ‰} }‰tdƒ}tdƒ‰tdƒ}tdƒ}tˆ ˆˆƒ}t| ˆ|ƒ}|jˆ ksXt‚|jˆksft‚|jˆkstt‚|jt	ˆ|  ksŠt‚|j
dˆ ksœt‚|jdt ˆ ks²t‚|jdt ˆ | t	 ksÐt‚|jt	| ksât‚|| }|jtˆ d dˆ  |  tˆ| ƒ  | d  ƒks"t‚|jˆks2t‚|jtˆ tˆƒ | t|ƒ  ˆ tˆƒ | t|ƒ  ƒkspt‚|jt	ˆ|  ksˆt‚|j
dˆ ksœt‚|jdt ˆ ks´t‚|jdt ˆ | t	 ksÔt‚|jt	| ksèt‚t| t¡| t¡ | t¡ ƒdkst‚| d	¡tt t||ˆƒˆˆƒ t||ˆƒ||ƒ ksPt‚| t¡tˆ d dˆ  |  tˆ| ƒ  | d  ƒttˆ | | t d
t  dt ˆ ˆ  tˆ tˆƒ | t|ƒ  ˆ tˆƒ | t|ƒ  ƒ ƒ ksît‚| t¡tˆ d dˆ  |  tˆ| ƒ  | d  ƒttdt ˆ ˆ tˆ tˆƒ | t|ƒ  ˆ tˆƒ | t|ƒ  ƒ tt ˆ | | d
t    ƒ kst‚tˆ d ddˆ ƒ}|jˆks²t‚|| }	|	jtˆ d dˆ  |  tˆ| ƒ  | d  ƒksòt‚|	jˆkst‚|	jtˆ tˆƒ | t|ƒ  ˆ tˆƒ | t|ƒ  ƒks@t‚|	jt	ˆ|  ksXt‚|	j
dˆ kslt‚|	jdt ˆ ks„t‚|	jdt ˆ | t	 ks¤t‚|	jt	| ks¸t‚t|	 t¡| t¡ | t¡ ƒdksät‚|	 d	¡tt t||ˆƒˆˆƒ t||ˆƒ||ƒ ks t‚|	 t¡tˆ d dˆ  |  tˆ| ƒ  | d  ƒtdt ˆ ˆ tˆ tˆƒ | t|ƒ  ˆ tˆƒ | t|ƒ  ƒ tt ˆ | | d
t   ƒ ks¾t‚|	 t¡tˆ d dˆ  |  tˆ| ƒ  | d  ƒttdt ˆ ˆ tˆ tˆƒ | t|ƒ  ˆ tˆƒ | t|ƒ  ƒ tt ˆ | | d
t    ƒ ks`t‚d| }
|
jdˆ  ks|t‚|
jˆksŒt‚|
jˆksœt‚|
 }|jdˆ  ks¶t‚|jˆksÆt‚|jˆksÖt‚tt‡ fdd„ƒ tt‡ ‡‡‡fdd„ƒ d S )NzA1, phi1, A2, phi2, fÚnÚtÚxÚEé   é   r   Zpdei%<ïéþÿÿÿc                      s   t ˆ ƒS ©Nr   © )ÚA1r   úd/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/physics/optics/tests/test_waves.pyÚ<lambda>Q   ó    ztest_twave.<locals>.<lambda>c                      s   t ˆ ˆˆˆƒS r   r   r   ©r   ÚfZphi1r   r   r    r!   R   r"   )r   r   r   r   Z	amplitudeÚAssertionErrorZ	frequencyZphaseZ
wavelengthÚcZtime_periodZangular_velocityr   Z
wavenumberÚspeedr   r
   r	   r   r   Zrewriter   r   r   r   r   r   r   r   Ú
ValueError)ÚA2Zphi2r   r   r   Zw1Zw2Zw3Zw4Zw5Zw6Zw7r   r#   r    Ú
test_twave   sª    8> ,<(ÿ8
ÿÿÿ(ÿ4
ÿÿÿ8> ,<(ÿ2
ÿÿÿ(ÿ4
ÿÿÿr*   N)!Zsympy.core.functionr   r   Zsympy.core.numbersr   r   Zsympy.core.symbolr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr	   r
   r   Zsympy.simplify.simplifyr   Z	sympy.abcr   r   Z&sympy.functions.elementary.exponentialr   Zsympy.physics.unitsr   r   r   Zsympy.physics.opticsr   Zsympy.testing.pytestr   Z
convert_tor&   r*   r   r   r   r    Ú<module>   s   