U
    ±Ė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_warningsZ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é   ©r/   r   )Śnpr&   r   r   r   Śget_dataŚlenŚAssertionErrorr   r   r   )	ŚxŚyŚs1Śx1Ś_Śs2Śx2Śs3Śx3© r@   śD/tmp/pip-unpacked-wheel-6t8vlncq/sympy/plotting/tests/test_series.pyŚtest_adaptive   s:    ’’& ’ ’’rB   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éč  )r/   ŚnŚdetect_polesTē{®Gįz?)r/   rE   rF   Śepsgķµ ÷Ę°>Zsymbolicr   r-   z8NumPy is unable to evaluate with complex numbers some of©ŚmatchZtest_stacklevelr*   r+   g©?)Z	equal_nané   é   )Śparamsr/   rE   rF   )rM   r/   rE   rF   rH   zu, v)Śrealé   éž’’’)rM   r/   Śn1rF   )r3   r&   r   r   r	   r   r4   Śallcloser6   ŚanyŚisnanr5   Zpoles_locationsŚabsr$   ŚUserWarningr   r   r   r   r   r   Śsubsr'   ŚRuntimeWarning)r7   Śur9   Śxx1Śyy1r<   Śxx2Śyy2r>   Zxx3Zyy3Śs4Zxx4Zyy4ŚvrE   ŚfŚrŚiZpp1Zpp2r@   r@   rA   Śtest_detect_poles.   s,     ’   ’   ’  ’(* ż
  ’   ’  ’ (  ’   ’   ’  ’.* ż  ’  ’
ż   ž   ž
rc   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:zrE   r+   é   é   rQ   c                 s   s"   | ]}d |ko|d  dkV  qdS )rQ   r+   Nr@   ©Ś.0Śkwr@   r@   rA   Ś	<genexpr>«   s     z4test_number_discretization_points.<locals>.<genexpr>©rQ   Śn2rk   c                 s   s&   | ]}|d  dko|d dkV  qdS )rQ   r+   rk   rd   Nr@   rf   r@   r@   rA   ri   ³   s     éū’’’r1   Fg     Ć@©r/   rE   )r3   r&   r   r   r   r   r!   Śallr6   r   r   r   r    r   r4   )r7   r8   ŚzŚptZkw1Zkw2Zkw3r@   r@   rA   Ś!test_number_discretization_points   s&    ’’"rq   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(   éż’’’rO   r+   rd   c                      s
   t  S ©N©r"   r@   ©Śxxr]   r@   rA   Ś<lambda>Ę   ó    z#test_list2dseries.<locals>.<lambda>)r3   r&   Ślinspacer   r"   Śis_parametricr6   r#   Ś
ValueErrorr4   rR   )r[   ŚsŚxxsŚyysr@   ru   rA   Ś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, vrl   r1   rL   ©rM   )r   r   r   Śis_interactiver6   r   r   r   r   r   r   )r7   r8   ro   rY   r_   r|   r@   r@   rA   Ś"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, zrL   r+   Fé2   Zlinear)r/   rE   Śxscaler   é’’’’rP   r
   r-   ē      ų?r1   )rE   r   Śyscale)r   rL   )r   r   )r   r   )r   rP   )rL   r   )r   r   )rP   r   )rQ   rk   r   r   r/   )rE   r   r   r/   )r3   r&   r   r   r4   Śiscloser6   r   r   r   r   r   r   r    )r7   r8   ro   r|   rv   r;   ŚparamŚyyr@   r@   rA   Ś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:zrL   r-   rO   é   r1   é   rl   r   rP   rr   )r3   r&   r   r"   Ś
isinstanceZrendering_kwŚdictr6   r   r   r   r   r   r   r   r   r   )rY   r_   r7   r8   ro   r|   r@   r@   rA   Ś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:zrL   rl   r1   Fr+   rm   r   r2   r-   rP   rr   rO   )r3   r&   r   r   r4   r5   r6   rn   r   r   r   r   r   r   Śshaper   )rY   r7   r8   ro   r|   rv   r   r   ŚzzŚuuŚvvr@   r@   rA   Ś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©r/   Śonly_integersr+   r   rl   r   r   r-   é   r   g      @ē      Ąē      @)r   é   r1   r    rr   rO   )r   r   rL   )r3   r&   r   r   r   r4   r5   r6   r   r   r   r   r   r   rR   Śonesry   r   )r7   r8   rY   r_   r|   rv   r;   Śpr   ra   Śexprr   r   r   r@   r@   rA   Ś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(   rC   rl   r1   r,   FT)Śis_pointŚ	is_filledr   rL   r-   rO   r   )r3   r&   r   r   r   r„   r¦   r6   r"   r   r   r   ©r7   rY   r|   r@   r@   rA   Ś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-   rP   r¦   TF)r   r   r   r¦   r6   )r7   r8   r£   Śrangesr|   r@   r@   rA   Ś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(   rC   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 rs   )rz   Z	is_2Dliner4   Z	is_3Dliner5   r6   )r9   r<   rZ   r;   r\   r@   r@   rA   Śdo_test1  s    ztest_steps.<locals>.do_testrl   r1   r,   Fé(   )r/   rE   ŚstepsTr   rL   r-   rO   r   )r­   )	r3   r&   r   r   r   r"   r   r   r   )r7   rY   r«   r9   r<   r@   r@   rA   Ś
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 rs   ©r5   r6   Śzipr3   rR   ©Śdata1Śdata2Śd1Śd2r@   r@   rA   r«   _  s    z&test_interactive_data.<locals>.do_testrl   r1   rL   r   ©rM   rE   Frm   r-   rr   rO   ©rM   rQ   rk   ©r/   rQ   rk   )r/   rE   ŚmodulesrM   )r/   rE   r¹   Śmpmath)rE   r¹   rM   )r3   r&   r   r   r   r4   r   r   r   r   r   r   )rY   r7   r8   ro   r«   r9   r<   r£   r@   r@   rA   Ś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, urL   r-   rO   c                      s   t t gt gS rs   ©r"   r   r   r@   ©r7   r@   rA   rw      rx   z/test_list2dseries_interactive.<locals>.<lambda>c                      s"   t tgtdg didS )Nr-   rL   r   r½   r@   ©rY   r7   r8   r@   rA   rw   ¤  rx   r   r   )r3   r&   r   r"   r   r6   r#   r{   r   r   r4   rR   rz   r   Zlist_xr   Zlist_y)r|   rv   r   r@   ræ   rA   Ś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?r1   T)r/   r¹   Śforce_real_evalrŗ   r   rl   Frd   )r/   rE   r¹   rĮ   )
r3   r&   r   r   r   r   r4   rn   r6   rR   )ro   rY   r9   r<   rZ   r[   r\   r]   r@   r@   rA   Ś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   éü’’’rO   z-cartesian line: cos(x) for x over (-4.0, 3.0)ŚreturnrN   z1cartesian line: re(cos(x)) for x over (-4.0, 3.0)Śimagz1cartesian line: im(cos(x)) for x over (-4.0, 3.0)rU   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)rL   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)rP   r1   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,)rl   r   rr   r-   zHImplicit expression: x < y for x over (-5.0, 4.0) and y over (-3.0, 2.0))r   r   r   Śstrr6   r   r   r   r   r   r   r    )rY   r7   r8   ro   r|   Śdr@   r@   rA   Ś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   rL   r-   rO   r   r1   r   r   é   T©Śuse_cmFrĆ   rP   )r3   r&   r   r"   rĖ   r6   r   r   r   r   r   r   )rY   r7   r8   ro   r|   r@   r@   rA   Ś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-   rP   r   rL   FrŹ   T)r   r   r   r   r   r   rĖ   r6   )r7   r8   rY   r_   r9   r<   r@   r@   rA   Ś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 rs   rÆ   r±   r@   r@   rA   r«   e  s    ztest_sums.<locals>.do_testrL   rD   r-   r+   FTr   )rM   r   r2   z&The evaluation with NumPy/SciPy failedrI   c                      s      ” S rs   )r4   r@   ©r|   r@   rA   rw     rx   ztest_sums.<locals>.<lambda>)r3   r&   r   r   r   r4   ZastypeŚfloatr$   rV   r#   Ś	TypeError)r7   r8   rY   r«   rv   r   r9   rZ   r[   r<   r\   r]   r@   rĪ   rA   Ś	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, vrP   r-   Fr+   rm   )r/   rE   Śtx)r/   rE   Śty)r/   rE   rŅ   rÓ   r   r   gĶĢĢĢĢĢģægĶĢĢĢĢĢģ?iž’’ih  iĢ’’’é4   )rŅ   rÓ   )r/   rE   rŅ   rÓ   Śtp)r/   rE   rÕ   rø   c                 S   s   d|  S ©Nr-   r@   r¾   r@   r@   rA   rw   Ē  rx   z'test_apply_transforms.<locals>.<lambda>c                 S   s   d|  S ©NrO   r@   r¾   r@   r@   rA   rw   Ē  rx   )r/   rQ   rk   rŅ   rÓ   ŚtzrO   c                 S   s   d|  S rÖ   r@   r¾   r@   r@   rA   rw   Ō  rx   c                 S   s   d|  S r×   r@   r¾   r@   r@   rA   rw   Ō  rx   )r3   r&   r   r   r   r   Zrad2degr4   r   r6   ŚminŚmaxry   r"   r   r   rR   Zdeg2radr   r   r   )r7   r8   ro   rY   r_   r9   r<   r>   r^   r:   Śy1r=   Śy2r?   Śy3Zx4Zy4rv   r   Za1Za2Śz1Śz2Śu1Zv1Śu2Zv2r@   r@   rA   Ś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$rP   r-   ŚtestFTr   rL   rO   rĖ   r7   r*   r+   )r3   r&   r   r   r   Z	get_labelrĘ   r6   r   r"   r   r   r   r   r   r   r    )r7   r8   ro   rY   r_   Śwrapperr£   r9   r<   r>   r^   r@   r@   rA   Ś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+   )r/   rE   Śis_polarrĖ   Tc                 S   s   d|  S rÖ   r@   ©Śtr@   r@   rA   rw   @  rx   z-test_is_polar_2d_parametric.<locals>.<lambda>)r/   rE   rę   Ś
color_funcc                 S   s   d|  S rÖ   r@   rē   r@   r@   rA   rw   C  rx   )
r3   r&   r   r   r   r   r   r4   rR   r6   )rč   rY   r`   r9   r:   rŪ   Śp1r<   Śthra   Śp2r>   r?   rŻ   Zp3r^   Zth4Zr4Zp4r@   r@   rA   Ś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-   rL   r   r   r+   F)rE   r/   rę   T)
r3   r&   r   r   r   r4   r   r   rR   r6   )r7   r8   rč   r£   r9   r<   r:   rŪ   rŽ   r=   rÜ   rß   Zx22Zy22r@   r@   rA   Ś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   rr   rO   r+   c                 S   s   d|  S rÖ   r@   ©r7   r8   r@   r@   rA   rw   h  rx   z!test_color_func.<locals>.<lambda>T)ré   rĖ   r-   c                 S   s   d|  S rÖ   r@   rļ   r@   r@   rA   rw   o  rx   Fr   c                 S   s   | S rs   r@   rē   r@   r@   rA   rw   t  rx   ©r/   rE   ré   c                 S   s   | | S rs   r@   rļ   r@   r@   rA   rw   x  rx   c                 S   s   | | | S rs   r@   )r7   r8   rč   r@   r@   rA   rw   |  rx   c                 S   s   | S rs   r@   rē   r@   r@   rA   rw     rx   c                 S   s   | | | S rs   r@   ©r7   r8   ro   r@   r@   rA   rw     rx   c                 S   s   | | | | S rs   r@   )r7   r8   ro   rč   r@   r@   rA   rw     rx   rP   c                 S   s   | S rs   r@   r¾   r@   r@   rA   rw     rx   ©r/   rQ   rk   ré   c                 S   s   | | S rs   r@   rļ   r@   r@   rA   rw     rx   c                 S   s   | | | S rs   r@   rń   r@   r@   rA   rw     rx   rL   c                 S   s   | S rs   r@   ©rY   r@   r@   rA   rw     rx   c                 S   s   | | S rs   r@   ©rY   r_   r@   r@   rA   rw   £  rx   c                 S   s   | | | S rs   r@   rń   r@   r@   rA   rw   Ø  rx   c                 S   s   | | | | | S rs   r@   )r7   r8   ro   rY   r_   r@   r@   rA   rw   ­  rx   r   c                 S   s   d|  S rÖ   r@   rļ   r@   r@   rA   rw   “  rx   )ré   rM   rĖ   c                 S   s   d|  S rÖ   r@   rļ   r@   r@   rA   rw   ¼  rx   )r3   r&   r   ry   r   r"   r4   rR   r6   rz   r5   r   r   r   r   r   Śeval_color_funcr   rĖ   )r7   r8   ro   rY   r_   rv   r[   r|   r}   r~   Ścolr   r   r   r   r@   r@   rA   Ś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 ©NrL   r@   rē   r@   r@   rA   rw   Ź  rx   z,test_color_func_scalar_val.<locals>.<lambda>rš   c                 S   s   dS rų   r@   rē   r@   r@   rA   rw   Ļ  rx   rP   c                 S   s   dS rų   r@   r¾   r@   r@   rA   rw   Ō  rx   rņ   rL   c                 S   s   dS rų   r@   ró   r@   r@   rA   rw   Ł  rx   )r3   r&   r   r   r   r   r   r4   rR   r”   r   r6   r   r   rõ   r   )	r7   r8   r|   rv   r   rö   r   r   r   r@   r@   rA   Ś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é   r/   rE   rĖ   c                 S   s
   t  | ”S rs   ©r3   r   r¾   r@   r@   rA   rw   ź  rx   z,test_color_func_expression.<locals>.<lambda>r   r1   )ré   r/   rQ   rk   rL   rO   r   c                      s   t dt dS )NT)rĖ   ré   )r"   r   r@   ©r7   rv   r   r@   rA   rw   ś  rx   )r3   r&   r   r   r   r   r   r4   Ścallableré   r6   rR   r   r#   rŠ   )r8   r9   r<   r“   rµ   r|   r@   rū   rA   Ś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   rl   r1   Fr+   c                 S   s   | S rs   r@   r¾   r@   r@   rA   rw     rx   z)test_line_surface_color.<locals>.<lambda>)r/   rE   Ś
line_colorr   r-   c                 S   s   | S rs   r@   rē   r@   r@   rA   rw   	  rx   rP   c                 S   s   | S rs   r@   r¾   r@   r@   rA   rw     rx   )rQ   rk   Śsurface_color)r   r   r   rž   rü   ré   r6   r   r   r   r   r’   )r7   r8   ro   r|   r@   r@   rA   Ś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 rs   rÆ   r±   r@   r@   rA   r«     s    z,test_complex_adaptive_false.<locals>.do_testr-   rl   r1   Fr+   rm   rL   ©r/   rE   rM   r   r*   re   rO   rø   )r/   rQ   rk   rM   )r3   r&   r   r   r   r   r   r4   rR   r6   r   r   r   r   )
r7   r8   rY   r«   Śexpr1Śexpr2r9   r<   r²   r³   r@   r@   rA   Ś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 rs   rś   r¾   r@   r@   rA   rw   C  rx   z.test_expr_is_lambda_function.<locals>.<lambda>©r7   rl   r1   TrO   r.   Fr+   rm   r,   c                 S   s
   t  | ”S rs   rś   r¾   r@   r@   rA   rw   J  rx   c                 S   s
   t  | ”S rs   ©r3   r   r¾   r@   r@   rA   rw   K  rx   r7   r   r-   ē¹?©r/   Zadaptive_goalc                 S   s   | S rs   r@   r¾   r@   r@   rA   rw   T  rx   c                 S   s   t  | d |d  ”S rÖ   rś   rļ   r@   r@   rA   rw   ]  rx   )ŚarP   r-   )Śbrr   rO   rø   c                 S   s   t  | | ”S rs   rś   rō   r@   r@   rA   rw   f  rx   c                 S   s   t  | | ”S rs   r  rō   r@   r@   rA   rw   g  rx   c                 S   s   | | S rs   r@   rō   r@   r@   rA   rw   h  rx   rY   r_   c                   S   s   t dd dd S )Nc                 S   s   | S rs   r@   rē   r@   r@   rA   rw   n  rx   ś@test_expr_is_lambda_function.<locals>.<lambda>.<locals>.<lambda>rt   r@   r@   r@   rA   rw   n  rx   c                   S   s   t dd ddS )Nc                 S   s
   t  | ”S rs   r  rē   r@   r@   rA   rw   o  rx   r  r  )r8   iś’’’r   )r    r@   r@   r@   rA   rw   o  s    ’)r3   r&   r   r4   Ślabelr6   r   r   r   r   r   r   r#   rŠ   )r`   r9   r<   ZfxZfyZfzr@   r@   rA   Ś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 )
NrC   rP   r-   rć   T)Śshow_in_legendFr   rL   )r   r   r   r  r6   r   r   r   r§   r@   r@   rA   Ś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 powerFrI   )r$   rX   r4   r°   r3   rR   r6   ©r	  r
  r“   rµ   rč   r_   r@   r@   rA   r«     s    żz:test_particular_case_1_with_adaptive_true.<locals>.do_testrE   r-   rO   rG   rL   r*   r+   r,   Tr.   ©rE   r*   r+   ©r3   r&   r   r   r   r   r   )	r«   rE   r	  ŚepsilonŚxnr£   Ś	math_funcr9   r<   r@   r@   rA   Ś)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 rs   )r4   r°   r3   rR   r6   r  r@   r@   rA   r«   “  s    z;test_particular_case_1_with_adaptive_false.<locals>.do_testrE   r-   rO   rG   rL   r*   r+   r,   Frm   r  r  )	r«   rE   r	  r  r  r£   r  r>   r^   r@   r@   rA   Ś*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, tr7   r-   r   )Zicsē      ą?g      Š?gĶĢĢĢĢĢÜ?g        éd   Fr1   r  z
x, T, n, mrL   r   r+   )r3   r&   r   r   Zdiffr   rW   r   Śrhsr4   rT   rS   r6   r   r   r   r   )ŚxiZwnZx0Zv0rč   r7   ŚeqZsolrM   r|   r8   ŚTrE   ŚmŚfsr@   r@   rA   Ś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(   rC   r-   r*   r+   Tr  r  Fre   rm   rL   r  r   )r3   r&   r   r   r   r   r   r'   rX   r4   rT   rS   r6   rR   )
r7   rY   r  r  r9   r<   r>   r²   r³   Zdata3r@   r@   rA   Ś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(   rC   y      Ą       Ąy      @       ĄTr2   Fr+   rm   z!invalid value encountered in sqrtrI   r   r   rL   )r3   r&   r   r   rU   r   r$   rX   r4   rR   r6   )
r7   rY   r9   r<   r“   rµ   rZ   r\   r[   r]   r@   r@   rA   Ś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(   r7   r-   r*   r+   F)r/   rE   rĮ   TrL   r   )r3   r&   r   r   r   r   r   r4   r'   rX   rR   r6   )r7   r£   r9   r<   r“   rµ   r@   r@   rA   Ś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)   rP   r-   T)ZclabelsF)r   r   r   Zshow_clabelsr6   )r7   r8   r|   r@   r@   rA   Ś 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 )Nr7   r*   r+   ł      $Ą       Ąy      $@       Ąc                      s   t t  ddfS )Nr%  y      $@       @)r   r   r@   r¾   r@   rA   rw   ^  rx   z:test_LineOver1DRangeSeries_complex_range.<locals>.<lambda>)r   r   r   r#   r{   r@   r@   r¾   rA   Ś(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 rs   )r4   r°   r3   rR   r6   rM   )r9   r<   Ś
new_paramsr“   rµ   rY   r_   r@   r@   rA   r«   h  s    z.test_symbolic_plotting_ranges.<locals>.do_testr   rL   Fr+   rm   ©rM   r/   rE   r  r   c                      s   t t f diddS )NrL   r+   r¶   )r   r   r@   ©r	  r
  r7   r@   rA   rw   y  rx   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   r@   r)  r@   rA   rw     s     ’c                	      s(   t tt f didddS r*  )r   r   r   r@   r)  r@   rA   rw     s     ’r-   r1   rø   ©rM   r/   rQ   rk   c                	      sJ   t td d  t   t  ft  t f diddddS ©Nr-   rL   Fr1   r+  ©r   r   r   r@   ©r	  r
  r7   r8   r@   rA   rw     s       žc                	      sN   t td d  t    t  ft  t f diddddS r,  r-  r@   r.  r@   rA   rw     s       žrP   rj   r·   c                
      sD   t t t  d  dfdd f didddS )NrP   r-   rL   r1   r·   )r   r   r   r@   r.  r@   rA   rw   «  s   
 
     ž)r3   r&   r   r   r   r#   r{   r   r   r   r   r   r   )ro   r«   r9   r<   r@   r.  rA   Śtest_symbolic_plotting_rangesa  s    
 ’’   ’’ ’
  ’’(  ’& 
  ž’’
 
     ’
 
   
  ž’r/  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(   r7   rL   r-   z5NumPy is unable to evaluate with complex numbers someFrI   r   r   r  rr   r   )r/   rE   Śexcluder   é   é   r    )r3   r&   r   r   r   ZHalfr$   rV   r   ŚlistŚranger4   rT   rS   r6   Zcount_nonzeror5   r
   r   r   r   )r7   r£   r|   rv   r   Śe1Śe2Śppr@   r@   rA   Śtest_exclude_points°  s>     ż’ż’r8  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)   rL   rO   r-   gńhćµųä>g     jų@r
   Fr+   )r   r/   rE   ŚunwrapTZperiodr   c                 s   s   | ]}t  |” ”  V  qd S rs   )r3   rT   rS   )rg   rč   r@   r@   rA   ri   č  s     ztest_unwrap.<locals>.<genexpr>)r3   r&   r   r   rW   r   r   r   r4   rR   r6   rn   )r7   r8   r£   r9   r<   r>   r:   rŪ   r=   rÜ   r?   rŻ   r@   r@   rA   Ś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'   r3   rB   rc   rq   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&  r/  r8  r:  r@   r@   r@   rA   Ś<module>   s^   d,p*FKO%,?!I'%[K!d+7
 -
!O%