U
    	-e                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZmZmZmZmZmZmZmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$ edZ%dd Z&dd Z'dd Z(dd Z)dS )    )pi)S)sqrt)cossin)raises)
CoordSys3D)ParametricIntegralvector_integrate)ParametricRegion)ImplicitRegion)	xyzuvrtthetaphi)PointSegmentCurveCirclePolygonPlaneCc                  C   s  t dtt dtt ftt d td f} ttjtjd  | t	dd ksTt
t ttd td ftddf}dtjd  tj tj tj dtj tj  dtj tj tj  }t||dkst
t dt d ddt  tftddf}ttjtj tj tjtj tj  |dks$t
tdtjd  t dtftddfdksRt
t ttttdt ftddt f}ttjtj tj |d	td
 t kst
tjtj tjtj  tjtj  }t|t tttttd ftdtfdt d td d  kst
d S )N      i          r         
   )r   r   r   r   r   r	   r   r   r   r   AssertionErrorr   r   ijkr   )Z
halfcirclecurveZfield1lineZhelixZfield2 r,   b/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/vector/tests/test_integrals.pytest_parametric_lineintegrals   s    .&F&4.&.$r.   c                  C   s  t dtt tt dtt tt dtt ftddt ftdtd f} ttj| dt ksft	t t
dtt t
dtt tftddftddt f}ttj|dkst	t ttt ttt tftddt ftddf}ttjtj tjtj  tjd tj  |td ks"t	t ttftddftddd	t  f}t ttftddd	t  ftddf}td
tj tj |td
tj tj |kst	ttj|dtj kst	d S )Nr   r   r"   r       r!   r   r$   r   g333333/)r   r   r   r   r   r   r	   r   r   r&   r   r   r   r   r   r'   r(   r)   )Z
semisphereZcylinderZconeZ	triangle1Z	triangle2r,   r,   r-    test_parametric_surfaceintegrals!   s    2 :2<$$2r0   c               	   C   s   t tttftddftddftddf} td| dks8tt ttt t	t
 ttt tt
 tt	t ftddft
ddt ftdtf}t ttt t	t
 ttt tt
 tt	t ftddftdtft
ddt f}ttjd tjd  |dt d kstttjd tjd  |dt d ks4tt tttftddftddt d d ftdd	dt  dt  f}t tttftddftdd	dt  dt  ftddt d d f}ttjtj tj d
tj  |ttjtj tj d
tj  |ksttdtj |dkstd S )Nr   r!   r   i       r    r/   d   i)r   r   r   r   r	   r&   r   r   r   r   r   r   r   r'   r(   r)   )ZcubeZsolidsphere1Zsolidsphere2Zregion_under_plane1Zregion_under_plane2r,   r,   r-   test_parametric_volumeintegrals2   s0    &2  2  ,,&*  
r5   c                     sJ  t ttt ttt ftddftdtf} ttjd | dt ksHt	ttjt t
t
d ft
ddfdtd d d	td	 d  kst	ttjd tj tjddftjd
dfdtj d kst	ttddtdd}tdtj |tdd kst	ttdddtddd}ttjtj |dks2t	ttt
tt
ft
ddf}tdtj |dtj ksnt	ttddd}ttjtj |dt kst	ttddtddtdd}td||jkst	tddd}ttjtj dtj tj  |dks
t	ddddg\}}}	}
t|||	|
}tdtj |dtj dtd tj  ks^t	tdd}ttjtj tj |ttjtj t dkst	tttftd td  d }td|d t kst	tttftd d td d  d }td|dt kst	ttdddtdddtddd tt fd!d" d S )#Nr3   r   r   r   r    i      %   i  r!   i	      ir   r$   r/   H   )r   r   )r!   r   )r!   r!      )r   r!   )r   r!   ii_   )r   r    -      c                      s   t tjtj tj tj  S )N)r
   r   r   r   r'   r)   r,   plr,   r-   <lambda>j       z'test_vector_integrate.<locals>.<lambda>)r   r   r   r   r   r   r
   r   r   r&   r   r   r   r   r   r   r   r'   r   r   Zcircumferencer   r(   r	   r   r   r   
ValueError)Zhalfdiscs1s2r*   c1c2trianglep1p2Zp3Zp4Zpolypointc3Zc4r,   rA   r-   test_vector_integrateG   s6    ,D:   ,2
4&$rO   N)*Zsympy.core.numbersr   Zsympy.core.singletonr   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   Zsympy.testing.pytestr   Zsympy.vector.coordsysrectr   Zsympy.vector.integralsr	   r
   Zsympy.vector.parametricregionr   Zsympy.vector.implicitregionr   Z	sympy.abcr   r   r   r   r   r   r   r   r   Zsympy.geometryr   r   r   r   r   r   r   r.   r0   r5   rO   r,   r,   r,   r-   <module>   s   , 