U
    L?he  ć                   @   s  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZ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) edZ*dd Z+dd	 Z,d
d Z-dd Z.dd Z/dd Z0dd Z1dd Z2dd Z3dd Z4dd Z5dd Z6dd Z7d d! Z8d"d# Z9d$d% Z:d&d' Z;d(d) Z<d*d+ Z=d,d- Z>d.d/ Z?d0d1 Z@d2d3 ZAd4d5 ZBd6d7 ZCd8d9 ZDd:d; ZEd<d= ZFd>d? ZGd@dA ZHe'dBdC ZIdDdE ZJdFdG ZKdHdI ZLe'dJdK ZMdLdM ZNdNdO ZOdPdQ ZPdRdS ZQdTdU ZRdVdW ZSdXS )Yé    )ŚlatexŚexpŚsymbolsŚIŚpiŚsinŚcosŚtanŚlogŚsqrtŚreŚimŚargŚfracŚSumŚSŚAbsŚlambdifyŚFunctionŚdsolveŚEqŚfloorŚTuple)Śimport_module)	ŚLineOver1DRangeSeriesŚParametric2DLineSeriesŚParametric3DLineSeriesŚSurfaceOver2DRangeSeriesŚContourSeriesŚParametricSurfaceSeriesŚImplicitSeriesŚ_set_discretization_pointsŚList2DSeries)ŚraisesŚwarnsŚXFAILŚskipŚignore_warningsŚnumpyc            	      C   sv  t std td\} }tt| | ddfdddd}| ” \}}tt| | ddfddd	d}| ” \}}tt| | ddfddd
}| ” \}}t|t|  k r®t|k s“n ttt	| t| | ddt
 fddd}| ” \}}}tt	| t| | ddt
 fdd	d}| ” \}}}tt	| t| | ddt
 fdd
}| ” \}}}t|t|  k rlt|k srn td S )Nśnumpy not installed.śx, yéö’’’é
   Ś Té   ©ŚadaptiveŚdepthé   ©r0   r   )Śnpr&   r   r   r   Śget_dataŚlenŚAssertionErrorr   r   r   )	ŚxŚyŚs1Śx1Ś_Śs2Śx2Śs3Śx3© rA   śR/var/www/html/venv/lib/python3.8/site-packages/sympy/plotting/tests/test_series.pyŚtest_adaptive   s:    ’’& ’ ’’rC   c               
   C   s|  t std td\} }tt| | t tfdddd}| ” \}}tt| | t tfddddd}| ” \}}tt| | t tfdddd	d}| ” \}	}
tt| | t tfddd
d}| ” \}}t  ||”rčt  ||	”rčt  ||”sģtt  	t  
|””rtt  	t  
|
””rtt  	t  
|””s.tt  	t  
|””sDtt|jt|j  krhdksnn tt|jdkstt  t  |j”t jd ”s¢tttddd tt| | ddfdddd}tt| | ddfddddd}tt| | ddfddd
d}| ” \}}| ” \}}| ” \}	}
t  ||”rJt  ||	”sNtt  	t  
|””rdtt  	t  
|””rt  	t  
|””stt j||ddr¢tt|jdks¶tW 5 Q R X tt||  | t tf|didddd}| ” \}}tt||  | t tf|diddddd}| ” \}}tt||  | t tf|didddd	d}| ” \}	}
tt||  | t tf|diddd
d}| ” \}}t  ||”r¾t  ||	”r¾t  ||”sĀtt  	t  
|””rŲtt  	t  
|
””rītt  	t  
|””stt  	t  
|””stt|jt|j  kr>dksDn tt|jdksXtt  t  |j”t jd ”sxtttddd tddd\}}tdd }|t|  | }t|t| }}t| |d”| |d”|ddfdddd}t| |d”| |d”|ddfdddd}W 5 Q R X ttJ | ” \}}}t  
|” 	” rPt| ” \}}}t  
|” 	” srtW 5 Q R X ttddd | | | t |  | }t|t| }}t| |d”| |d”|ddf| didddd}t| |d”| |d”|ddf| didddd}W 5 Q R X ttJ | ” \}}}t  
|” 	” rLt| ” \}}}t  
|” 	” sntW 5 Q R X d S )Nr)   śx, uFéč  )r0   ŚnŚdetect_polesTē{®Gįz?)r0   rF   rG   Śepsgķµ ÷Ę°>Zsymbolicr   r.   z8NumPy is unable to evaluate with complex numbers some of©ŚmatchZtest_stacklevelr+   r,   g©?)Z	equal_nané   é   )Śparamsr0   rF   rG   )rN   r0   rF   rG   rI   zu, v)Śrealé   éž’’’)rN   r0   Śn1rG   )r4   r&   r   r   r	   r   r5   Śallcloser7   ŚanyŚisnanr6   Zpoles_locationsŚabsr$   ŚUserWarningr   r   r   r   r   r   Śsubsr'   ŚRuntimeWarning)r8   Śur:   Śxx1Śyy1r=   Śxx2Śyy2r?   Zxx3Zyy3Śs4Zxx4Zyy4ŚvrF   ŚfŚrŚiZpp1Zpp2rA   rA   rB   Śtest_detect_poles.   s,     ’   ’   ’  ’(* ż
  ’   ’  ’ (  ’   ’   ’  ’.* ż  ’  ’
ż   ž   ž
rd   c                  C   s  t std td\} }}tttfD ]P}tddi|}tddddgi|}tddi|}tdd	 |||fD s$tq$t	t
ttfD ]r}tddi|}tddddgi|}tddd
|}|d |d   krŌdksŚn ttdd	 ||fD stqtt| | ddfddd ”  d S )Nr)   zx:zrF   r,   é   é   rR   c                 s   s"   | ]}d |ko|d  dkV  qdS )rR   r,   NrA   ©Ś.0ŚkwrA   rA   rB   Ś	<genexpr>«   s     z4test_number_discretization_points.<locals>.<genexpr>©rR   Śn2rl   c                 s   s&   | ]}|d  dko|d dkV  qdS )rR   r,   rl   re   NrA   rg   rA   rA   rB   rj   ³   s     éū’’’r2   Fg     Ć@©r0   rF   )r4   r&   r   r   r   r   r!   Śallr7   r   r   r   r    r   r5   )r8   r9   ŚzŚptZkw1Zkw2Zkw3rA   rA   rB   Ś!test_number_discretization_points   s&    ’’"rr   c                     s   t std t  ddd” t   ”} t  ddd”t | }|jrFttt fdd t | }| 	” \}}t  
 |”stt  
| |”st|jrtd S )Nr)   éż’’’rP   r,   re   c                      s
   t  S ©N©r"   rA   ©Śxxr^   rA   rB   Ś<lambda>Ę   ó    z#test_list2dseries.<locals>.<lambda>)r4   r&   Ślinspacer   r"   Śis_parametricr7   r#   Ś
ValueErrorr5   rS   )r\   ŚsŚxxsŚyysrA   rv   rB   Śtest_list2dseriesŗ   s    



r   c                  C   s`  t d\} }}}}tt| | ddf}|jr0tt|t|  | ddf|did}|jsZttt| t| | ddf}|jr~tt|t|  |t|  | ddf|did}|js²ttt| t| | | ddf}|jrŲtt|t|  |t|  | | ddf|did}|jsttt| | | ddf|ddf}|jr<tt|t| |  | ddf|ddf|did}|jsttt	t| | | ddf|ddf}|jr tt	|t| |  | ddf|ddf|did}|jsŲtt
|t| |t| || |ddf|ddf}|jrtt
|t||   |t| || |ddf|ddf| did}|js\td S )Nśx, y, z, u, vrm   r2   rM   ©rN   )r   r   r   Śis_interactiver7   r   r   r   r   r   r   )r8   r9   rp   rZ   r`   r}   rA   rA   rB   Ś"test_interactive_vs_noninteractiveŠ   sP    
 

’

 ’  ’  ’ ’   ’r   c               
   C   s   t std td\} }}t| | ddfdddd}| ” \}}t  |d |d	  |d
 |d  ”sftt| | ddfdddd}| ” \}}t  |d |d	  |d
 |d  ”r²ttt| t	| | t
d dt
 fdddd}| ” \}}}t  |d |d	  |d
 |d  ”sttt| t	| | t
d dt
 fdddd}| ” \}}}t  |d |d	  |d
 |d  ”rvttt| t	| | | t
d dt
 fdddd}| ” \}}}}t  |d |d	  |d
 |d  ”sÜttt| t	| | | t
d dt
 fdddd}| ” \}}}}t  |d |d	  |d
 |d  ”rBttt| d |d  | ddf|ddfdddd}| ” \}}}t  |d |d  |d |d  ”sŖtt  |d |d  |d |d  ”sŌttt| d |d  | ddf|ddfdddd}| ” \}}}t  |d |d  |d |d  ”r<tt  |d |d  |d |d  ”rfttt| d |d  d	k| ddf|ddfdddddd}| ” \}}}}t  |d |d  |d |d  ”sŲtt  |d |d  |d |d  ”sttt| d |d  d	k| ddf|ddfddddd}| ” \}}}}t  |d |d  |d |d  ”rrtt  |d |d  |d |d  ”rtd S )Nr)   śx, y, zrM   r,   Fé2   Zlinear)r0   rF   Śxscaler   é’’’’rQ   r
   r.   ē      ų?r2   )rF   r   Śyscale)r   rM   )r   r   )r   r   )r   rQ   )rM   r   )r   r   )rQ   r   )rR   rl   r   r   r0   )rF   r   r   r0   )r4   r&   r   r   r5   Śiscloser7   r   r   r   r   r   r   r    )r8   r9   rp   r}   rw   r<   ŚparamŚyyrA   rA   rB   Śtest_lin_log_scaleś   sĢ    ’(’(    ž*    ž*     ž*     ž*    ž**    ž**      ž**     ž*r   c                  C   sJ  t std td\} }}}}tdddgdddg}t|jtsDttd|d	df}t|jtsdtt	t
|t||d
tf}t|jtsttt|t
|||d
dt f}t|jts¾tt|| |ddf|ddf}t|jtsźtt|| |ddf|ddf}t|jtsttd|||d
df|d
df}t|jtsFtd S )Nr)   z	u, v, x:zrM   r.   rP   é   r2   é   rm   r   rQ   rs   )r4   r&   r   r"   Ś
isinstanceZrendering_kwŚdictr7   r   r   r   r   r   r   r   r   r   )rZ   r`   r8   r9   rp   r}   rA   rA   rB   Śtest_rendering_kw@  s"     r   c                  C   s  t std td\} }}}td|ddf}| ” \}}t|t|ksLtt  |dk”s^ttd|ddfddd}| ” \}}t|t|  krdks¢n tt  |dk”s“ttt	|d|d	t
f}| ” \}}}t|t|krųt|t|ksütt  |dk”sttdt	||d	t
f}| ” \}}}t|t|krXt|t|ks\tt  |dk”spttt	|d|d	t
fdd
}| ” \}}}t|t|kr¼t|t|ksĄtt  |dk”sŌttdt	||d	t
fdd
}| ” \}}}t|t|kr t|t|ks$tt  |dk”s8ttt|t	|d|d	dt
 f}| ” \}}}}t|t|krt|t|krt|t|ks¢tt  |dk”s¶ttt|d||d	dt
 f}| ” \}}}}t|t|krt|t|krt|t|kstt  |dk”s0ttdt	|||d	dt
 f}| ” \}}}}t|t|krt|t|krt|t|kstt  |dk”sŖttd|ddf|ddf}| ” \}}}|j|jkrģ|j|jksštt  |dk”sttd|||d	df|d	df}| ” \}}}}	}
|j|j  krl|j  krl|	j  krl|
jksrn tt  |dk”sttdd||d	df|d	df}| ” \}}}}	}
|j|j  krī|j  krī|	j  krī|
jksōn tt  |dk”stt|dd|d	df|d	df}| ” \}}}}	}
|j|j  krp|j  krp|	j  krp|
jksvn tt  |dk”std S )Nr)   śu, x:zrM   rm   r2   Fr,   rn   r   r3   r.   rQ   rs   rP   )r4   r&   r   r   r5   r6   r7   ro   r   r   r   r   r   r   Śshaper   )rZ   r8   r9   rp   r}   rw   r   r   ŚzzŚuuŚvvrA   rA   rB   Śtest_data_shape]  sn    "$((( ::: @@@r   c               	   C   s  t std td\} }}}tt| | ddfdddd}| ” \}}t|d	ksTt|d
 dkrl|d dkspttt	| t| | d
dt
 fdddd}| ” \}}}t|dks“t|d
 d
krĢ|d dksŠttt	| t| | | d
dt
 fdddd}| ” \}}}}t|dkst|d
 d
kr6|d dks:ttt	| d |d  | ddf|ddfdddd}| ” \}}}|j|j  krdksn tt  |d d d
f dt  d”  d
”sĘtt  |d
d d f t  ddd” d
”sņtt  |d d d
f t  ddd” d
”stt  |d
d d f dt  d”  d
”sJtdtd| d|   }	|	t	| t| |	t| t| |	t	| f}
t|
|d
dt
 f|d
t
fdfddd}| ” \}}}}}|j|j  kr|j  kr|j  kr|j  krdksn ttd| ddfdddd}| ” \}}t|d	ksRt|d
 dkrn|d dksrttt	| d| d
dt
 fdddd}| ” \}}}t|dks“t|d
 d
krŠ|d dksŌttd| ddf|ddfdddd}| ” \}}}|j|j  krdks$n tt  |d d d
f dt  d”  d
”sPtt  |d
d d f t  ddd” d
”s|tt  |d d d
f t  ddd” d
”sØtt  |d
d d f dt  d”  d
”sŌtdtd| d|   }	|	t	| t| d|	t	| f}
t|
|d
dt
 f|d
t
fdfddd}| ” \}}}}}|j|j  kr|j  kr|j  kr|j  krdksn td S )Nr)   ś
x, y, u, vg      Ąē      @r-   FT©r0   Śonly_integersr,   r   rm   r   r   r.   é   r   g      @ē      Ąē      @)r   é   r2   r”   rs   rP   )r   r   rM   )r4   r&   r   r   r   r5   r6   r7   r   r   r   r   r   r   rS   Śonesrz   r   )r8   r9   rZ   r`   r}   rw   r<   Śpr   rb   Śexprr   r   r   rA   rA   rB   Śtest_only_integersØ  s¤     ’ ’ ’   ž",,,,
ż ’L ’  ’  ’",,,,
ż ’r„   c                  C   s  t std td\} }tt| | ddfdddd}|js@|jsDttt| | ddfdddd}|jrl|jrpttd	d
dgdddgddd}|js|jsttd	d
dgdddgddd}|jrÄ|jrČtt	t| t
| | ddfddd}|jsō|jsųtt	t| t
| | ddfddd}|jr(|jr,ttt| t
| | | ddfddd}|js^|jsbttt| t
| | | ddfddd}|jr|jrtd S )Nr)   rD   rm   r2   r-   FT)Śis_pointŚ	is_filledr   rM   r.   rP   r   )r4   r&   r   r   r   r¦   r§   r7   r"   r   r   r   ©r8   rZ   r}   rA   rA   rB   Śtest_is_point_is_filled÷  sV     ’ ’ ’ ’ ’ ’ ’ ’r©   c                  C   s   t d\} }t| d |d  }| ddf|ddff}t|f| }|jsLtt|f|ddi}|jsjtt|f|ddi}|jrtd S )Nr*   r.   rQ   r§   TF)r   r   r   r§   r7   )r8   r9   r¤   Śrangesr}   rA   rA   rB   Śtest_is_filled_2d  s    

r«   c               	   C   sH  t std td\} }dd }tt| | ddfddd	dd
}tt| | ddfddd	dd
}||| tdddgdddgdd}tdddgdddgdd}||| tt| t| | ddfdd	dd
}tt| t| | ddfdd	dd
}||| tt| t| | | ddfdd	dd
}tt| t| | | ddfdd	dd
}||| d S )Nr)   rD   c                 S   s²   | j s&| jr&|  ” \}}| ” \}}nt| j rP| jrP|  ” \}}}| ” \}}}nJ| j sz| jrz|  ” \}}}| ” \}}}n |  ” \}}}}| ” \}}}}t|t|ks®td S rt   )r{   Z	is_2Dliner5   Z	is_3Dliner6   r7   )r:   r=   r[   r<   r]   rA   rA   rB   Śdo_test1  s    ztest_steps.<locals>.do_testrm   r2   r-   Fé(   )r0   rF   ŚstepsTr   rM   r.   rP   r   )r®   )	r4   r&   r   r   r   r"   r   r   r   )r8   rZ   r¬   r:   r=   rA   rA   rB   Ś
test_steps+  sP      ’  ’

  ’  ’
  ’  ’rÆ   c               
   C   s  t std td\} }}}dd }t| t| |ddf| didd	}tt||ddfd
dd}|| ” | ”  t| t| | t| |ddf| didd	}tt|t||ddfd
dd}|| ” | ”  t| t| | t| | | |ddf| didd	}tt|t|||ddfd
dd}|| ” | ”  t	| t|d |d   |ddf|ddf| diddd}t	t|d |d  |ddf|ddfd
ddd}|| ” | ”  t
| t||  t|| || |ddf|ddf| diddd}t
t|| t|| || |ddf|ddfd
ddd}|| ” | ”  t|d d |d d  }t| | |ddfd
dd | did}t||ddfd
dd d}|| ” | ”  t|d d |d d  }t| | |ddfdd| did}t||ddfd
ddd}|| ” | ”  d S )Nr)   r   c                 S   s<   t | t |kstt| |D ]\}}t ||”stqd S rt   ©r6   r7   Śzipr4   rS   ©Śdata1Śdata2Śd1Śd2rA   rA   rB   r¬   _  s    z&test_interactive_data.<locals>.do_testrm   r2   rM   r   ©rN   rF   Frn   r.   rs   rP   ©rN   rR   rl   ©r0   rR   rl   )r0   rF   ŚmodulesrN   )r0   rF   rŗ   Śmpmath)rF   rŗ   rN   )r4   r&   r   r   r   r5   r   r   r   r   r   r   )rZ   r8   r9   rp   r¬   r:   r=   r¤   rA   rA   rB   Śtest_interactive_dataW  s²    "
 
   ’ ’
 
   ž ’    ž    ž 
     ž
 
     ž ’’’  ’r¼   c                     sD  t std td\ tdddgdddg} | jr:tttfdd tt fdd ttgt	gdid	} | jsttddd
gd
ddgdid	} |  
” \}}t  |dddd
g”sŠtt  |d
dddg”sčt| jrņttdddgdddgdid	} | jstt| jts.tt| jts@td S )Nr)   śx, y, urM   r.   rP   c                      s   t t gt gS rt   ©r"   r   r   rA   ©r8   rA   rB   rx      ry   z/test_list2dseries_interactive.<locals>.<lambda>c                      s"   t tgtdg didS )Nr.   rM   r   r¾   rA   ©rZ   r8   r9   rA   rB   rx   ¤  ry   r   r   )r4   r&   r   r"   r   r7   r#   r|   r   r   r5   rS   r{   r   Zlist_xr   Zlist_y)r}   rw   r   rA   rĄ   rB   Śtest_list2dseries_interactive  s(    
’
"
rĮ   c                  C   s   t std td\} }ttt|  | ddfdd dd}ttt|  | ddfdddd}| ” \}}| ” \}}t  |dk ”stt  |dk”stttt|  | d	dfd
dd dd}ttt|  | d	dfd
dddd}| ” \}}| ” \}}t  	||”s
tt  	||”rtd S )Nr)   zz, ugü©ńŅMbP?r2   T)r0   rŗ   Śforce_real_evalr»   r   rm   Fre   )r0   rF   rŗ   rĀ   )
r4   r&   r   r   r   r   r5   ro   r7   rS   )rp   rZ   r:   r=   r[   r\   r]   r^   rA   rA   rB   Śtest_mpmath·  sB      ’  ’   ’   ’rĆ   c               	   C   s  t d\} }}}tt||ddf}t|dks4tddi}tt||ddff|}t|dksdtddi}tt||ddff|}t|d	kstdd
i}tt||ddff|}t|dksÄtddi}tt||ddff|}t|dksōttt| | |ddf| did}t|dks&ttt| | ||  d| f| d|did}t|dksbttt|t||ddf}t|dksttt| | t||ddf| did}t|dksĘttt| | t|||  d| f| d|did}t|dksttt|t|||ddf}t|dks6ttt| | t|||ddf| did}t|dkspttt| | t||||  d| f| d|did}t|dks“ttt|| |ddf|ddf}t|dksęttt| | | |ddf|ddf| did}t|dks$ttt| | | |d|  df|dd|  f| did}t|dksjtt	t|| |ddf|ddf}t|dkstt	t| | | |ddf|ddf| did}t|dksŚtt
t|| t|| || |ddf|ddf}t|dkstt
t| | | t|| || |ddf|ddf| did}t|d ksjtt||k |d!d"f|d#d$f}t|d%kstd S )&Nr   éü’’’rP   z-cartesian line: cos(x) for x over (-4.0, 3.0)ŚreturnrO   z1cartesian line: re(cos(x)) for x over (-4.0, 3.0)Śimagz1cartesian line: im(cos(x)) for x over (-4.0, 3.0)rV   z2cartesian line: abs(cos(x)) for x over (-4.0, 3.0)r   z2cartesian line: arg(cos(x)) for x over (-4.0, 3.0)rM   r   zOinteractive cartesian line: cos(u*x) for x over (-4.0, 3.0) and parameters (u,)zOinteractive cartesian line: cos(u*x) for x over (-u, 3*y) and parameters (u, y)zBparametric cartesian line: (cos(x), sin(x)) for x over (-4.0, 3.0)zdinteractive parametric cartesian line: (cos(u*x), sin(x)) for x over (-4.0, 3.0) and parameters (u,)zdinteractive parametric cartesian line: (cos(u*x), sin(x)) for x over (-u, 3*y) and parameters (u, y)zH3D parametric cartesian line: (cos(x), sin(x), x) for x over (-4.0, 3.0)zjinteractive 3D parametric cartesian line: (cos(u*x), sin(x), x) for x over (-4.0, 3.0) and parameters (u,)zjinteractive 3D parametric cartesian line: (cos(u*x), sin(x), x) for x over (-u, 3*y) and parameters (u, y)rQ   r2   zIcartesian surface: cos(x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0)zkinteractive cartesian surface: cos(u*x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0) and parameters (u,)zkinteractive cartesian surface: cos(u*x*y) for x over (-4*u, 3.0) and y over (-2.0, 5*u) and parameters (u,)z?contour: cos(x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0)zainteractive contour: cos(u*x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0) and parameters (u,)zeparametric cartesian surface: (cos(x*y), sin(x*y), x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0)zinteractive parametric cartesian surface: (cos(u*x*y), sin(x*y), x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0) and parameters (u,)rm   r   rs   r.   zHImplicit expression: x < y for x over (-5.0, 4.0) and y over (-3.0, 2.0))r   r   r   Śstrr7   r   r   r   r   r   r   r    )rZ   r8   r9   rp   r}   ŚdrA   rA   rB   Śtest_strÓ  sl     *&0(2 ,4 , ’   ’rÉ   c                  C   sö  t std td\} }}}tddddgddd	d
gdd}|jsDttddddgddd	d
gdd}|jrlttt|t||ddfdd}|jsttt|t||ddfdd}|jr¼tt	t|t|||ddfdd}|jsętt	t|t|||ddfdd}|jrtt
t|| |ddf|ddfdd}|jsBtt
t|| |ddf|ddfdd}|jrrttt|| t|| || |ddf|ddfdd}|js²ttt|| t|| || |ddf|ddfdd}|jrņtd S )Nr)   r   rM   r.   rP   r   r2   r   r   é   T©Śuse_cmFrÄ   rQ   )r4   r&   r   r"   rĢ   r7   r   r   r   r   r   r   )rZ   r8   r9   rp   r}   rA   rA   rB   Śtest_use_cm  sN    



’
’’’  ’  ’rĶ   c               	   C   s^  t d\} }}}tt| d |d  | ddf|ddf}t|t| |t| ||ddf|ddt f}|j|jksxttt| d |d  | ddf|ddfdd}t|t| |t| ||ddf|ddt fdd}|j|jksčttt| d |d  | ddf|ddfdd}t|t| |t| ||ddf|ddt fdd}|j|jksZtd S )	Nr   r.   rQ   r   rM   FrĖ   T)r   r   r   r   r   r   rĢ   r7   )r8   r9   rZ   r`   r:   r=   rA   rA   rB   Śtest_surface_use_cmC  s2    ( ’$’  ’$’  ’rĪ   c               	      s:  t std td\} }}dd }ttd| |  | ddf|ddfd	d
d   ” \}}ttd|  | d|f|ddfd	d
d}| ” \}}tt||  | d|f|ddf|did
d}	|	 ” \}
}| t”}|
 t”}
|||g|
|g ttd|  | d|f|ddfd
d tt	dd	d t
t fdd W 5 Q R X d S )Nr)   r½   c                 S   s<   t | t |kstt| |D ]\}}t ||”stqd S rt   r°   r²   rA   rA   rB   r¬   e  s    ztest_sums.<locals>.do_testrM   rE   r.   r,   FTr   )rN   r   r3   z&The evaluation with NumPy/SciPy failedrJ   c                      s      ” S rt   )r5   rA   ©r}   rA   rB   rx     ry   ztest_sums.<locals>.<lambda>)r4   r&   r   r   r   r5   ZastypeŚfloatr$   rW   r#   Ś	TypeError)r8   r9   rZ   r¬   rw   r   r:   r[   r\   r=   r]   r^   rA   rĻ   rB   Ś	test_sums^  s>      ’ ’ ’

’żrŅ   c                  C   sz  t std td\} }}}}tt| | dt dt fddd}tt| | dt dt fddt jd}tt| | dt dt fddt jd	}tt| | dt dt fddt jt jd
}| ” \}	}
| ” \}}| ” \}}| ” \}}t  |	d dt j ”rt  |	d dt j ”st	|
 
” dk r6|
 ” dks:t	t  |d d”r^t  |d d”sbt	| 
” dk r~| ” dkst	t  |d dt j ”r²t  |d dt j ”s¶t	| 
” dk rŅ| ” dksÖt	t  |d d”rśt  |d d”sžt	| 
” dk r| ” dkst	t  dt j dt j d”}t  |”}t||}t||t jt jd}| ” \}	}
| ” \}}t  |	d dt j ”rØt  |	d dt j ”s¬t	|
 
” dk rČ|
 ” dksĢt	t  |d d”ršt  |d d”sōt	| 
” dk r| ” dkst	tt| t| | t tfddd}tt| t| | t tfddt jt jt jd}| ” \}	}
}| ” \}}}t  |	t  |””st	t  |
t  |””s°t	t  |t  |””sČt	tt| t| | | t tfddd}tt| t| | | t tfddt jd}| ” \}	}
}}| ” \}}}}t  |	|”sFt	t  |
|”sXt	t  ||”sjt	t  |t  |””st	tt| d |d  | dt dt f|dt dt fdddd}tt| d |d  | dt dt f|dt dt fdddt jdd dd d	}| ” \}	}
}| ” \}}}t  |	t  |””sFt	t  |
|d ”s\t	t  ||d ”srt	t|| || || |ddt f|dtfdddd}t|| || || |ddt f|dtfdddt jdd dd d}| ” \}	}
}}}| ” \}}}}}t  |	t  |””s&t	t  |
|d ”s<t	t  ||d ”sRt	t  ||”sdt	t  ||”svt	d S )Nr)   z	x:z, u, vrQ   r.   Fr,   rn   )r0   rF   Śtx)r0   rF   Śty)r0   rF   rÓ   rŌ   r   r   gĶĢĢĢĢĢģægĶĢĢĢĢĢģ?iž’’ih  iĢ’’’é4   )rÓ   rŌ   )r0   rF   rÓ   rŌ   Śtp)r0   rF   rÖ   r¹   c                 S   s   d|  S ©Nr.   rA   ræ   rA   rA   rB   rx   Ē  ry   z'test_apply_transforms.<locals>.<lambda>c                 S   s   d|  S ©NrP   rA   ræ   rA   rA   rB   rx   Ē  ry   )r0   rR   rl   rÓ   rŌ   ŚtzrP   c                 S   s   d|  S r×   rA   ræ   rA   rA   rB   rx   Ō  ry   c                 S   s   d|  S rŲ   rA   ræ   rA   rA   rB   rx   Ō  ry   )r4   r&   r   r   r   r   Zrad2degr5   r   r7   ŚminŚmaxrz   r"   r   r   rS   Zdeg2radr   r   r   )r8   r9   rp   rZ   r`   r:   r=   r?   r_   r;   Śy1r>   Śy2r@   Śy3Zx4Zy4rw   r   Za1Za2Śz1Śz2Śu1Zv1Śu2Zv2rA   rA   rB   Śtest_apply_transforms  s   "’’ ’4 ( 4 ( 

4 (   
  ’  
    ž   
  ’   
   ’    ž      ż      ž        żrć   c                  C   sD  t std td\} }}}}d}t| }t|| ddfd }t|| ddfd}| d”t|ksdt| d”|t| ks~t| d”dkst| d”dks¢tt	d	d
ddgd	d
ddgd}| d”dksŠt| d”dksātt| t
| f}t|| ddfd fddi}t|| ddfdfddi}t|| ddfd fddi}	t|| ddfdfddi}
| d”dksvt| d”|d kst| d”dks¢t| d”dks¶t|	 d”t|ksĪt|	 d”|t| ksźt|
 d”dksžt|
 d”dkstt| t
| | f}t|| ddfd fddi}t|| ddfdfddi}t|| ddfd fddi}	t|| ddfdfddi}
| d”dksØt| d”|d ksĄt| d”dksŌt| d”dksčt|	 d”t|ks t|	 d”|t| kst|
 d”dks0t|
 d”dksDtt| d |d  }t|| ddf|ddfd }t|| ddf|ddfd}| d”t|ks¤t| d”|t| ksĄt| d”dksŌt| d”dksčtt| | t
| | | | f}t|| ddf|ddfd f }t|| ddf|ddfdf }| d”t|ksZt| d”|t| ksvt| d”dkst| d”dksttt| | d	}t|| ddf|ddfd }t|| ddf|ddfd}| d”t|ksüt| d”|t| kst| d”dks,t| d”dks@td S )Nr)   r   z$%s$rQ   r.   ŚtestFTr   rM   rP   rĢ   r8   r+   r,   )r4   r&   r   r   r   Z	get_labelrĒ   r7   r   r"   r   r   r   r   r   r   r    )r8   r9   rp   rZ   r`   Śwrapperr¤   r:   r=   r?   r_   rA   rA   rB   Śtest_series_labelsŽ  sz    rę   c               	   C   s“  t std td\} }td|  }t|t|  |t|  | ddt fddddd}| ” \}}}t|t|  |t|  | ddt fddd	dd}| ” \}}	}
t  ||”søt  ||	”r¼t	t  ||
”sĢt	t|t|  |t|  | ddt fdddd
d d}| ” \}}}t|t|  |t|  | ddt fddd	dd d}| ” \}}}t  ||”rlt  ||”rpt	t  ||”rt  ||”st	t  ||”r¬t  ||	”s°t	d S )Nr)   zt ur   r   r.   Fr,   )r0   rF   Śis_polarrĢ   Tc                 S   s   d|  S r×   rA   ©ŚtrA   rA   rB   rx   @  ry   z-test_is_polar_2d_parametric.<locals>.<lambda>)r0   rF   rē   Ś
color_funcc                 S   s   d|  S r×   rA   rč   rA   rA   rB   rx   C  ry   )
r4   r&   r   r   r   r   r   r5   rS   r7   )ré   rZ   ra   r:   r;   rÜ   Śp1r=   Śthrb   Zp2r?   r@   rŽ   Zp3r_   Zth4Zr4Zp4rA   rA   rB   Śtest_is_polar_2d_parametric)  sJ    "   ’"   ’"   ’"   ’  rķ   c                  C   sŠ   t std td\} }}| d d d }t|| ddf|ddt fdddd	}t|| ddf|ddt fddd
d	}| ” \}}}| ” \}	}
}|t  |” |t  |”  }}t  |	|”s¼t	t  |
|”sĢt	d S )Nr)   zx, y, tr.   rM   r   r   r,   F)rF   r0   rē   T)
r4   r&   r   r   r   r5   r   r   rS   r7   )r8   r9   ré   r¤   r:   r=   r;   rÜ   rß   r>   rŻ   rą   Zx22Zy22rA   rA   rB   Śtest_is_polar_3dJ  s&      ’  ’rī   c                  C   s¦  t std td\} }}}}t  ddd”}t  |”}t||dd dd	}| ” \}}	}
t  ||”shtt  ||	”sxtt  d
| |
”st|j	stt||dd dd	}t
| ” d
ks¾t|j	rČttt| t| | dd
t fdddd d}| ” \}}}
t  ||
”st  ||
”r ttt| t| | dd
t fdddd d}| ” \}}}
t  |
|| ”snttt| t| | dd
t fdddd d}| ” \}}}
t  |
|| t  dd
t j d” ”sŠttt| t| | | dd
t fdddd d}| ” \}}}}
t  ||
”s(t  ||
”r,ttt| t| | | dd
t fdddd d}| ” \}}}}
t  |
|| | ”sttt| t| | | dd
t fdddd d}| ” \}}}}
t  |
|| | t  dd
t j d” ”sģttt| d
 |d
  | dd
f|dd
fddddd d}| ” \}}}| |||”}
t  ||
”sPttt| d
 |d
  | dd
f|dd
fddddd d}| ” \}}}| |||”}
t  || |
”søttt| d
 |d
  | dd
f|dd
fddddd d}| ” \}}}| |||”}
t  || | |
”s$ttd| || ddf|ddfddddd d	}| ” \}}}}}| |||||”}
t  ||
”sttd| || ddf|ddfddddd d	}| ” \}}}}}| |||||”}
t  || |
”sčttd| || ddf|ddfddddd d	}| ” \}}}}}| |||||”}
t  || | |
”sPttd| || ddf|ddfddddd d	}| ” \}}}}}| |||||”}
t  || | | | |
”sĄttddd
| g| d
ddgd d | didd!}| ” \}}}
t  |ddd
dg”stt  |dd
ddg”s,tt  d
| |
”sBt|j	rR|jsVttddd
| g| d
ddgd"d | didd!}t
| ” d
kst|j	r¢td S )#Nr)   r   rs   rP   r,   c                 S   s   d|  S r×   rA   ©r8   r9   rA   rA   rB   rx   h  ry   z!test_color_func.<locals>.<lambda>T)rź   rĢ   r.   c                 S   s   d|  S r×   rA   rļ   rA   rA   rB   rx   o  ry   Fr   c                 S   s   | S rt   rA   rč   rA   rA   rB   rx   t  ry   ©r0   rF   rź   c                 S   s   | | S rt   rA   rļ   rA   rA   rB   rx   x  ry   c                 S   s   | | | S rt   rA   )r8   r9   ré   rA   rA   rB   rx   |  ry   c                 S   s   | S rt   rA   rč   rA   rA   rB   rx     ry   c                 S   s   | | | S rt   rA   ©r8   r9   rp   rA   rA   rB   rx     ry   c                 S   s   | | | | S rt   rA   )r8   r9   rp   ré   rA   rA   rB   rx     ry   rQ   c                 S   s   | S rt   rA   ræ   rA   rA   rB   rx     ry   ©r0   rR   rl   rź   c                 S   s   | | S rt   rA   rļ   rA   rA   rB   rx     ry   c                 S   s   | | | S rt   rA   rń   rA   rA   rB   rx     ry   rM   c                 S   s   | S rt   rA   ©rZ   rA   rA   rB   rx     ry   c                 S   s   | | S rt   rA   ©rZ   r`   rA   rA   rB   rx   £  ry   c                 S   s   | | | S rt   rA   rń   rA   rA   rB   rx   Ø  ry   c                 S   s   | | | | | S rt   rA   )r8   r9   rp   rZ   r`   rA   rA   rB   rx   ­  ry   r   c                 S   s   d|  S r×   rA   rļ   rA   rA   rB   rx   “  ry   )rź   rN   rĢ   c                 S   s   d|  S r×   rA   rļ   rA   rA   rB   rx   ¼  ry   )r4   r&   r   rz   r   r"   r5   rS   r7   r{   r6   r   r   r   r   r   Śeval_color_funcr   rĢ   )r8   r9   rp   rZ   r`   rw   r\   r}   r~   r   Ścolr   r   r   r   rA   rA   rB   Śtest_color_func]  s   


  ’   ’  ’*  ’   ’  ’.$   ’$   ’$   ’  ’  ’  ’  ’"  ’  ’r÷   c            	      C   s  t std td\} }tt| t| | ddt fdddd d	}| ” \}}}t  |t  	|j
””shttt| t| | | ddt fddd
d d	}| ” \}}}}t  |t  	|j
””s¼ttt| d |d  | ddf|ddfddddd d}| ” \}}}t  | |”t  	|j
””s ttd| || ddf|ddfddddd d	}| ” \}}}}}| |||||”}t  |t  	|j
””std S )Nr)   r*   r   r.   Fr,   c                 S   s   dS ©NrM   rA   rč   rA   rA   rB   rx   Ź  ry   z,test_color_func_scalar_val.<locals>.<lambda>rš   c                 S   s   dS rų   rA   rč   rA   rA   rB   rx   Ļ  ry   rQ   c                 S   s   dS rų   rA   ræ   rA   rA   rB   rx   Ō  ry   rņ   rM   c                 S   s   dS rų   rA   ró   rA   rA   rB   rx   Ł  ry   )r4   r&   r   r   r   r   r   r5   rS   r¢   r   r7   r   r   rõ   r   )	r8   r9   r}   rw   r   rö   r   r   r   rA   rA   rB   Śtest_color_func_scalar_valĮ  sB      ’  ’$   ’   ’rł   c               	      s:  t std td\ } tt t  ddt ft dddd}tt t  ddt fd	d
 dddd}| ” }t|j	st
| ” }t  |d |d ”r¦t
tt d | d   t tf| t tft d | d  dddd}| ”  t|j	st
dddddgdddddgtt fdd
 d S )Nr)   r*   r   r.   Fr,   T)rź   r0   rF   rĢ   c                 S   s
   t  | ”S rt   ©r4   r   ræ   rA   rA   rB   rx   ź  ry   z,test_color_func_expression.<locals>.<lambda>r   r2   )rź   r0   rR   rl   rM   rP   r   c                      s   t dt dS )NT)rĢ   rź   )r"   r   rA   ©r8   rw   r   rA   rB   rx   ś  ry   )r4   r&   r   r   r   r   r   r5   Ścallablerź   r7   rS   r   r#   rŃ   )r9   r:   r=   rµ   r¶   r}   rA   rū   rB   Śtest_color_func_expressionß  s@       ’   ’(   ’’rż   c                  C   sŲ   t d\} }}tt| | ddfdddd d}|jd krBt|jsFttt| t| | d	d
t	 fdddd d}|jd krt|jstt
t| d
 |d
  | dd
f|dd
fdddd d}|jd krŠt|jsŌtd S )Nr   rm   r2   Fr,   c                 S   s   | S rt   rA   ræ   rA   rA   rB   rx     ry   z)test_line_surface_color.<locals>.<lambda>)r0   rF   Ś
line_colorr   r.   c                 S   s   | S rt   rA   rč   rA   rA   rB   rx   	  ry   rQ   c                 S   s   | S rt   rA   ræ   rA   rA   rB   rx     ry   )rR   rl   Śsurface_color)r   r   r   rž   rü   rź   r7   r   r   r   r   r’   )r8   r9   rp   r}   rA   rA   rB   Śtest_line_surface_colorż  s"    ’  ’$  ’r   c            
   	   C   sź  t std td\} }}dd }t| t| d   }t||  t| d   }tt|| ddfdd	d
}tt|| ddfdd	|did}| ” }| ” }	|||	 t  |d d”sĘt  |	d d”rŹt	t
t|t|| t tfdd	d
}t
t|t|| t tfdd	|did}| ” }| ” }	|||	 t  |d d”sRt  |	d d”rVt	tt|| ddf|dd	fdddd}tt|| ddf|dd	fddd|did}| ” }| ” }	|||	 t  |d d”sāt  |	d d”ręt	d S )Nr)   zx y uc                 S   s<   t | t |kstt| |D ]\}}t ||”stqd S rt   r°   r²   rA   rA   rB   r¬     s    z,test_complex_adaptive_false.<locals>.do_testr.   rm   r2   Fr,   rn   rM   ©r0   rF   rN   r   r+   rf   rP   r¹   )r0   rR   rl   rN   )r4   r&   r   r   r   r   r   r5   rS   r7   r   r   r   r   )
r8   r9   rZ   r¬   Śexpr1Śexpr2r:   r=   r³   r“   rA   rA   rB   Śtest_complex_adaptive_false  sX      ’
$ ’  ’
(  ’   ’
r  c               
   C   s(  t std dd } t| dddd}| ”  t| ddd	d
}| ”  |j|j  kr\dksbn tdd }dd }t||dddt fddd}| ”  t||dddt fdd	d
}| ”  |j|j  krŅdksŲn tdd }t|||dddt fddd}| ”  t|||dddt fdd	d
}| ”  |j|j  krHdksNn tdd } t	| dddd	d	d}| ”  t
| dddd	d	d}| ”  |j|j  krŖdks°n tdd }dd }dd }t|||ddtfdddt fdd	d	d}| ”  |jdkstttdd  ttdd  d S )Nr)   c                 S   s
   t  | ”S rt   rś   ræ   rA   rA   rB   rx   C  ry   z.test_expr_is_lambda_function.<locals>.<lambda>©r8   rm   r2   TrP   r/   Fr,   rn   r-   c                 S   s
   t  | ”S rt   rś   ræ   rA   rA   rB   rx   J  ry   c                 S   s
   t  | ”S rt   ©r4   r   ræ   rA   rA   rB   rx   K  ry   r8   r   r.   ē¹?©r0   Zadaptive_goalc                 S   s   | S rt   rA   ræ   rA   rA   rB   rx   T  ry   c                 S   s   t  | d |d  ”S r×   rś   rļ   rA   rA   rB   rx   ]  ry   )ŚarQ   r.   )Śbrs   rP   r¹   c                 S   s   t  | | ”S rt   rś   rō   rA   rA   rB   rx   f  ry   c                 S   s   t  | | ”S rt   r  rō   rA   rA   rB   rx   g  ry   c                 S   s   | | S rt   rA   rō   rA   rA   rB   rx   h  ry   rZ   r`   c                   S   s   t dd dd S )Nc                 S   s   | S rt   rA   rč   rA   rA   rB   rx   n  ry   ś@test_expr_is_lambda_function.<locals>.<lambda>.<locals>.<lambda>ru   rA   rA   rA   rB   rx   n  ry   c                   S   s   t dd ddS )Nc                 S   s
   t  | ”S rt   r  rč   rA   rA   rB   rx   o  ry   r  r  )r9   iś’’’r   )r    rA   rA   rA   rB   rx   o  s    ’)r4   r&   r   r5   Ślabelr7   r   r   r   r   r   r   r#   rŃ   )ra   r:   r=   ZfxŚfyZfzrA   rA   rB   Śtest_expr_is_lambda_function<  sv     ’ ’ ’ ’"  ’  ’"  ’r  c                  C   s  t d\} }tt| | ddfddd}|js0ttt| | ddfddd}|jrTttt| t| | dd	fddd}|js~ttt| t| | dd	fddd}|jrØttt| t| | | dd	fddd}|jsŌttt| t| | | dd	fddd}|jrtd S )
NrD   rQ   r.   rä   T)Śshow_in_legendFr   rM   )r   r   r   r  r7   r   r   r   rØ   rA   rA   rB   Śtest_show_in_legend_liness  s*    

’
’
’
’r  c            	      C   sø   t std dd } td}tdd }d}|d |d  tdd  |d |d  tdd   }t|| | }t|g|}t||d	d
fdddd}t|ddddd}| || d S )Nr)   c              	   S   sR   t tddd: |  ” }| ” }t||D ]\}}t ||”s*tq*W 5 Q R X d S )Nz)invalid value encountered in scalar powerFrJ   )r$   rY   r5   r±   r4   rS   r7   ©r	  r
  rµ   r¶   ré   r`   rA   rA   rB   r¬     s    żz:test_particular_case_1_with_adaptive_true.<locals>.do_testrF   r.   rP   rH   rM   r+   r,   r-   Tr/   ©rF   r+   r,   ©r4   r&   r   r   r   r   r   )	r¬   rF   r	  ŚepsilonŚxnr¤   Ś	math_funcr:   r=   rA   rA   rB   Ś)test_particular_case_1_with_adaptive_true  s$    8 ’ ’r  c            	      C   sø   t std dd } td}tdd }d}|d |d  tdd  |d |d  tdd   }t|| | }t|g|}t||d	d
fddd
d}t|dddd
d}| || d S )Nr)   c                 S   s8   |   ” }|  ” }t||D ]\}}t ||”stqd S rt   )r5   r±   r4   rS   r7   r  rA   rA   rB   r¬   “  s    z;test_particular_case_1_with_adaptive_false.<locals>.do_testrF   r.   rP   rH   rM   r+   r,   r-   Frn   r  r  )	r¬   rF   r	  r  r  r¤   r  r?   r_   rA   rA   rB   Ś*test_particular_case_1_with_adaptive_false¬  s$    8 ’ ’r  c               	   C   s  t std td\} }}}}td|}| |d”d|  | | |”  |d |  }t||| |d”|| |” |d”|id}|d| d|d	|d
i}t|j|ddfdd|d}	|	 	” \}}
t  
|” ” rŠtt  
|
” ” rāttd\}}}}tdd dt ttd| t | | | |d|f  }|d|di}t||ddfdd|d}	|	 	” \}}
t  
|” ” rrtt  
|
” ” rtd S )Nr)   zxi, omega_n, x0, v0, tr8   r.   r   )Zicsē      ą?g      Š?gĶĢĢĢĢĢÜ?g        éd   Fr2   r  z
x, T, n, mrM   r   r,   )r4   r&   r   r   Śdiffr   rX   r   Śrhsr5   rU   rT   r7   r   r   r   r   )ŚxiZwnZx0Zv0ré   r8   ŚeqZsolrN   r}   r9   ŚTrF   ŚmŚfsrA   rA   rB   Śtest_complex_params_number_evalČ  sD    .,    ü’<  ž’r"  c            
   	   C   s<  t std td\} }tt| t| d   }tt||  t| d   }t|| ddfddd}t|| ddfd	d
d}t|| ddfd	d
|did}tt | 	” }W 5 Q R X | 	” }| 	” }	t  
|d ” ” rŚtt  
|d ” ” rštt  
|	d ” ” rtt  |d |	d ”r4t  |d |	d ”s8td S )Nr)   rD   r.   r+   r,   Tr  r  Frf   rn   rM   r  r   )r4   r&   r   r   r   r   r   r'   rY   r5   rU   rT   r7   rS   )
r8   rZ   r  r  r:   r=   r?   r³   r“   Zdata3rA   rA   rB   Śtest_complex_range_line_plot_1õ  s(    ’’
r#  c            
   	   C   s   t std td\} }ttt| | ddfdd}ttt| | ddfddd	}ttd
dd | ” }| ” }|d d |d d g}|d d |d d g}|d d |d d g}|d d |d d g}	t  	||”sāt
t  	||	”sņt
W 5 Q R X d S )Nr)   rD   y      Ą       Ąy      @       ĄTr3   Fr,   rn   z!invalid value encountered in sqrtrJ   r   r   rM   )r4   r&   r   r   rV   r   r$   rY   r5   rS   r7   )
r8   rZ   r:   r=   rµ   r¶   r[   r]   r\   r^   rA   rA   rB   Śtest_complex_range_line_plot_2  s(    ’żr$  c               	   C   s®   t std td} tt| t| d   }t|| ddfdddd}t|| ddfdddd}| ” }tt	 | ” }W 5 Q R X t  
|d	 d
”rtt  
|d	 d
”sŖtd S )Nr)   r8   r.   r+   r,   F)r0   rF   rĀ   TrM   r   )r4   r&   r   r   r   r   r   r5   r'   rY   rS   r7   )r8   r¤   r:   r=   rµ   r¶   rA   rA   rB   Śtest_force_real_eval2  s    ’’
r%  c                  C   s   t d\} }tt| | | ddf|ddf}|js6ttt| | | ddf|ddfdd}|jsdttt| | | ddf|ddfdd}|jrtd S )Nr*   rQ   r.   T)ZclabelsF)r   r   r   Zshow_clabelsr7   )r8   r9   r}   rA   rA   rB   Ś test_contour_series_show_clabelsF  s     
$
$r&  c                      sF   t d tt  ddf tt  ddf tt fdd d S )Nr8   r+   r,   ł      $Ą       Ąy      $@       Ąc                      s   t t  ddfS )Nr'  y      $@       @)r   r   rA   ræ   rA   rB   rx   ^  ry   z:test_LineOver1DRangeSeries_complex_range.<locals>.<lambda>)r   r   r   r#   r|   rA   rA   ræ   rB   Ś(test_LineOver1DRangeSeries_complex_rangeU  s    
’r(  c               
      sī  t std td\}  dd }ttddfddd	}tt f ddiddd
}||| ddi tt fdd tttddfddd	}ttt f ddiddd
}||| ddi tt fdd t	ttddfddd	}t	tt f ddiddd
}||| ddi tt fdd t
td d  t tft tfdddd}t
td d  t   t  ft  t f ddidddd}||| ddi tt fdd tt fdd tt t  ddfddfddd}tt t  d  dfdd f ddiddd}||| ddi tt fdd d S )Nr)   zx, y, z, a, bc                 S   sj   |   ” }|  ” }t||D ]\}}t ||”stq||_|  ” }t||D ]\}}t ||”rLtqLd S rt   )r5   r±   r4   rS   r7   rN   )r:   r=   Ś
new_paramsrµ   r¶   rZ   r`   rA   rA   rB   r¬   h  s    z.test_symbolic_plotting_ranges.<locals>.do_testr   rM   Fr,   rn   ©rN   r0   rF   r  r   c                      s   t t f diddS )NrM   r,   r·   )r   r   rA   ©r	  r
  r8   rA   rB   rx   y  ry   z/test_symbolic_plotting_ranges.<locals>.<lambda>c                      s&   t tt f didddS ©Nr   Fr,   r*  )r   r   r   rA   r+  rA   rB   rx     s     ’c                	      s(   t tt f didddS r,  )r   r   r   rA   r+  rA   rB   rx     s     ’r.   r2   r¹   ©rN   r0   rR   rl   c                	      sJ   t td d  t   t  ft  t f diddddS ©Nr.   rM   Fr2   r-  ©r   r   r   rA   ©r	  r
  r8   r9   rA   rB   rx     s       žc                	      sN   t td d  t    t  ft  t f diddddS r.  r/  rA   r0  rA   rB   rx     s       žrQ   rk   rø   c                
      sD   t t t  d  dfdd f didddS )NrQ   r.   rM   r2   rø   )r   r   r   rA   r0  rA   rB   rx   «  s   
 
     ž)r4   r&   r   r   r   r#   r|   r   r   r   r   r   r   )rp   r¬   r:   r=   rA   r0  rB   Śtest_symbolic_plotting_rangesa  s    
 ’’   ’’ ’
  ’’(  ’& 
  ž’’
 
     ’
 
   
  ž’r1  c                  C   s  t std td} t| tj d| tj d   }ttdddn t|| dd	fdd
t	t
ddd}| ” \}}t  |” ” rtt  t  |””dkstt|d
ks¬tW 5 Q R X tt| t|  }tt| t|  }ttddd t||| ddfdd
t	t
ddd}| ” \}}}t  |” ” r4tt  t  |””dksNtt  t  |””dkshtt|d
ksztW 5 Q R X d S )Nr)   r8   rM   r.   z5NumPy is unable to evaluate with complex numbers someFrJ   r   r    r  rs   r   )r0   rF   Śexcluder   é   é   r”   )r4   r&   r   r   r   ZHalfr$   rW   r   ŚlistŚranger5   rU   rT   r7   Zcount_nonzeror6   r
   r   r   r   )r8   r¤   r}   rw   r   Śe1Śe2ŚpprA   rA   rB   Śtest_exclude_points°  s>     ż’ż’r:  c                  C   s,  t std td\} }d| d d| d   |   }t| | t| d t ”}t||ddfdd	d
d	d}t||ddfdd	d
dd}t||ddfdd	d
ddid}| ” \}}| ” \}}	| ” \}
}t  	||”sÖt
tdd ||	|fD sņt
t  	||	”rt
t  	||”rt
t  	|	|”r(t
d S )Nr)   r*   rM   rP   r.   gńhćµųä>g     jų@r
   Fr,   )r   r0   rF   ŚunwrapTZperiodr   c                 s   s   | ]}t  |” ”  V  qd S rt   )r4   rU   rT   )rh   ré   rA   rA   rB   rj   č  s     ztest_unwrap.<locals>.<genexpr>)r4   r&   r   r   rX   r   r   r   r5   rS   r7   ro   )r8   r9   r¤   r:   r=   r?   r;   rÜ   r>   rŻ   r@   rŽ   rA   rA   rB   Śtest_unwrapÕ  s8      ’  ’  ’r<  N)TZsympyr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zsympy.externalr   Zsympy.plotting.seriesr   r   r   r   r   r   r    r!   r"   Zsympy.testing.pytestr#   r$   r%   r&   r'   r4   rC   rd   rr   r   r   r   r   r   r„   r©   r«   rÆ   r¼   rĮ   rĆ   rÉ   rĶ   rĪ   rŅ   rć   rę   rķ   rī   r÷   rł   rż   r   r  r  r  r  r  r"  r#  r$  r%  r&  r(  r1  r:  r<  rA   rA   rA   rB   Ś<module>   s^   d,p*FKO%,?!I'%[K!d+7
 -
!O%