ó
&…\c           @   sI  d  d l  Td  d l Td  d l Z d  d l Z d  d l Z d  d l Z e d „ Z d Z d Z	 d Z
 d Z d Z d	 Z d
 Z d Z d Z d Z d Z d Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d  „  Z$ d! „  Z% d" „  Z& d# „  Z' d$ „  Z( d% „  Z) d& „  Z* d' „  Z+ d( „  Z, d) „  Z- d* „  Z. d+ „  Z/ d, „  Z0 d- „  Z1 d. „  Z2 d/ „  Z3 d0 „  Z4 d1 „  Z5 d2 „  Z6 d3 „  Z7 d4 „  Z8 d5 „  Z9 d6 „  Z: d7 „  Z; d8 „  Z< d9 „  Z= d: „  Z> d; „  Z? d< „  Z@ d= „  ZA d> „  ZB d? „  ZC d S(@   iÿÿÿÿ(   t   *Nc         C   sF   t  } | o! |  j j | j | ƒ } | o? |  j j | j | ƒ } | S(   N(   t   Truet   realt   aet   imag(   t   at   bt   epst   res(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   mpc_ae   s    sg   3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798sg   2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642743si   0.0174532925199432957692369076848861271344287188854172545609719144017100911460344944368224156963450948221sh   0.577215664901532860606512090082402431042159335939923598805767234884867726777664670936947063291746749516sh   0.693147180559945309417232121458176568075500134360255254120680009493393621969694715605863326996418687542sg   2.30258509299404568401799145468436420760110148862877297603332790096757260967735248023599720508959829834sh   0.915965594177219015054603514932384110774149374281672134266498119621763019776254769479356512926115106249sg   2.68545200106530644530971483548179569382038229399446295305115234555721885953715200280114117493184769800sm   1.28242712910062263687534256886979172776768892732500119206374002174040630885882646112973649195820237439420646sg   1.20205690315959428539973816151144999076498629234049888179227155534183820578631309018645587360933525815sj   1.61803398874989484820458683436563811772030917980576286213544862270526046281890244970720720418939113748475sh   0.261497212847642783755426838608695859051566648261199206192064213924924510897368209714142631434246651052sh   0.660161815846869573927812110014555778432623360284733413319448423335405642304495277143760031413839867912c       	   C   s¹  xad d d d d d d d d	 g	 D]>}  |  t  _ t t t ƒ k sI t ‚ t t t ƒ k sa t ‚ t t t	 ƒ k sy t ‚ t
 t t ƒ k s‘ t ‚ t t t ƒ k s© t ‚ t t t ƒ k sÁ t ‚ t t t ƒ k sÙ t ‚ t t t ƒ k sñ t ‚ t t t ƒ k s	t ‚ t t t ƒ k s!t ‚ |  d
 k  r" t t t ƒ k sEt ‚ t t t ƒ k s`t ‚ q" q" Wd t  _ t d k st ‚ t d k s‘t ‚ t d k s£t ‚ t d k  sµt ‚ d  S(   Ni   i   i
   i   i   i%   iP   id   i   i2   iÿÿÿÿi   i   (   t   mpt   dpst   pit   mpft   tpit   AssertionErrort   et   tet   degreet   tdegreet   eulert   teulert   ln2t   tln2t   ln10t   tln10t   catalant   tcatalant   khinchint	   tkhinchint   glaishert	   tglaishert   phit   tphit   mertenst   tmertenst	   twinprimet
   ttwinprime(   t   prec(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_constants-   s(    (		c          C   s  x6 t  d ƒ D]( }  t t |  |  ƒ ƒ |  k s t ‚ q Wt j d ƒ x† d d d d g D]r } | t _ x` t  d ƒ D]R }  t j d | d	 d	 d | d	 d ƒ } t t | | ƒ ƒ | k su t ‚ qu WqY Wd
 t _ x¢ t  d ƒ D]” }  x‹ d d d d g D]w } t t | | d	 |  f ƒ ƒ t | |  f ƒ k s<t ‚ t t | | d |  f ƒ ƒ t | |  f ƒ k sþ t ‚ qþ Wqå Wd  S(   Ni N  i   id   i,  iè  i'  i   i
   i   i   i   i   i³¶ iþÿÿÿ(	   t   ranget   sqrtR   R   t   randomt   seedR
   R   t   randint(   t   iR&   t   AR   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_exact_sqrtsC   s    &	**	8c          C   sm  xß d d d d d d d d d	 d
 d d g D]³ }  t  |  ƒ }  xž d d d d d g D]‡ } | t _ t t |  t j t ƒ d t j t ƒ } t t |  t j t ƒ d t j t ƒ } t | |  ƒ sÅ t	 ‚ t
 | |  ƒ sS t	 ‚ qS Wq+ Wt j d ƒ d } xg t t t g D]V } xM t d ƒ D]? }  t | ƒ } t | | ƒ } t | | | ƒ | k st	 ‚ qWqWd t _ t d ƒ d } t d ƒ d } d t _ t | d d ƒd k s¯t	 ‚ t | d d ƒd k sÍt	 ‚ t | d d ƒd k sët	 ‚ t | d d ƒd k  s	t	 ‚ t | d d ƒd k s't	 ‚ t | d d ƒd k sEt	 ‚ t t d ƒ ƒ t d ƒ k sit	 ‚ d  S(   Ni   i   i   i   i   i   i
   i   i   i   i   i   iS   ij   iÐ  iÒ  id   i	   go™„ÙK@-t   roundingt   dt   nt   us   7.0503726185518891s   2.655253776675949(   t   from_intR
   R   t   mpf_pow_intt   mpf_sqrtR&   t
   round_downt   round_upt   mpf_ltR   t   mpf_gtR*   R+   t   round_nearestt   round_ceilingR(   t   mpf_randt   mpf_mulR   R)   (   R-   R   R   R   R&   t   rnd(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_sqrt_roundingR   s4    1	''&		c          C   s³  d t  _ xW d d d d d d d d	 d
 d d g D]. }  t t |  ƒ ƒ t |  ƒ d k s1 t ‚ q1 Wt d ƒ d k s{ t ‚ t d ƒ j t j d ƒ ƒ sŸ t ‚ t d ƒ j t j d ƒ ƒ sÃ t ‚ t d ƒ j t j d ƒ ƒ sç t ‚ t d ƒ j t j d ƒ ƒ st ‚ t d ƒ j t j d ƒ ƒ s/t ‚ t t j	 t j
 d ƒ j t j t j	 t j
 d ƒ ƒ sot ‚ t t j	 t j
 d ƒ j t j t j	 t j
 d ƒ ƒ s¯t ‚ d  S(   Ni   i    gH¯¼šò×z>gš™™™™™¹?g      à?i   i   i   i   i   gZd;ßOÕ?g\Âõ(S@iÿÿÿÿy              ð?iþÿÿÿiýÿÿÿiœÿÿÿy              ð¿(   R
   R   R)   R   t   floatR   R   t   cmatht   mathR   R   (   t   x(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_float_sqrtp   s    	.,$$$$$@c           C   s£   t  d d ƒ d k s t ‚ t  d d ƒ t d ƒ k s< t ‚ t  d d ƒ t d ƒ k s] t ‚ t  d d ƒ t d ƒ k s~ t ‚ t  d d ƒ t d ƒ k sŸ t ‚ d  S(   Ni    g…ëQ¸Õ?g…ëQ¸Õ¿i   i   i   (   t   hypotR   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_hypot~   s
    !!!c          C   sÓ   x@ t  d d d ƒ D], }  t t |  |  |  ƒ ƒ |  k s t ‚ q Wt j d ƒ xs d d d d g D]_ } | t _ t j d	 | d
 d
 d	 | d
 d ƒ } t t | | | ƒ ƒ | k sc t ‚ qc Wd t _ d  S(   Ni    i N  iÈ   i   id   i,  iè  i'  i
   i   i   (	   R(   t   cbrtR   R   R*   R+   R
   R   R,   (   R-   R&   R.   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_exact_cbrt…   s    *	**c          C   s  t  d ƒ d k s t ‚ t  d ƒ j t d ƒ ƒ s9 t ‚ t  d ƒ j t d ƒ ƒ sZ t ‚ t  t d ƒ ƒ }  |  j t |  j ƒ k sŠ t ‚ d
 t _ t  t d ƒ ƒ }  |  j t |  j ƒ k sÃ t ‚ d	 t _ t  t	 d ƒ j d ƒ së t ‚ t  d ƒ j t
 j  d ƒ ƒ st ‚ d  S(   Ni    i   i'  s   8.8068182256629215873e4342iðØÿÿs   1.1354838653147360985e-4343IÍÖž   iËÿÿÿi5   iC   I…ÇÅ=wtºiÄÿÿÿi=   i
   i   i   y               @(   i   IÍÖž   iËÿÿÿi5   (   i   I…ÇÅ=wtºiÄÿÿÿi=   y       @       @y       @       @(   t   expR   R   R   t   bct   bitcountt   manR
   R&   R   RB   (   R   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_exp   s    !!		c          C   sZ   d t  _ t d ƒ }  t d ƒ } d t  _ |  
j d ƒ s@ t ‚ | 
j d ƒ sV t ‚ d  S(   Ni   iÿÿÿÿi   i   g8ï,6V‹×?giW‹
¿@(   R
   R   RJ   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_issue_73œ   s    		c          C   sE  d t  _ t d ƒ d k s! t ‚ xb d d d d d d$ d g D]E }  t |  ƒ j t j |  ƒ ƒ sg t ‚ t |  |  ƒ d k s= t ‚ q= Wt d d ƒ d	 k s¡ t ‚ t d% d	 ƒ d k s¼ t ‚ t d& ƒ j t j d' ƒ ƒ sà t ‚ t d( ƒ j d) j d ƒ st ‚ t d* ƒ j d+ j d ƒ s$t ‚ t d, ƒ j d- j d ƒ sFt ‚ t d. ƒ j d/ j d ƒ sht ‚ t d0 ƒ j d1 j d ƒ sŠt ‚ t d2 ƒ j d3 j d ƒ s¬t ‚ t d4 ƒ j d5 j d ƒ sÎt ‚ t d6 ƒ j d7 j d ƒ sðt ‚ t d8 ƒ j d9 j d ƒ st ‚ t d: ƒ j d; j d ƒ s4t ‚ t d< ƒ j d= j d ƒ sVt ‚ t d> ƒ j d? j d ƒ sxt ‚ t d@ ƒ j dA j d ƒ sšt ‚ t t d dB ƒ ƒ j t d ƒ d! ƒ sÈt ‚ t t d dC ƒ ƒ j t d ƒ d# ƒ söt ‚ t t	 d d ƒ ƒ t	 t
 d ƒ k s!t ‚ t t t	 t d ƒ ƒ j ƒ sEt ‚ t t t	 t d ƒ ƒ j ƒ sit ‚ t t t	 d t ƒ ƒ j ƒ st ‚ t t t	 d t ƒ ƒ j ƒ s±t ‚ t t t	 t d ƒ ƒ j ƒ sÕt ‚ t t t	 t d ƒ ƒ j ƒ sùt ‚ t t t	 d t ƒ ƒ j ƒ st ‚ t t t	 d t ƒ ƒ j ƒ sAt ‚ d  S(D   Ni   i   i    g      à?g      ø?g       @g      @id   i
   i2   g¸ÔJzî5i   i   iÒ  y               @g333333ã?y        š™™™™™é?i   g €à7yÃ@gš™™™™™é?y        333333ã?y        :Œ0âŽyE>i   iÿÿÿÿy              ð?g:Œ0âŽyE>y              ð¿y        œWw'&l¡7iP   gœWw'&l¡7gX9´Èv¾ó?i   g@Œµx¯DiÈ   gZb××çtil          +ÛO¦ ±tC3’y+v° l                                                                                                                                                                      mÅÊE­{˜jFK¢_Ãt<WHIAcŠFèi¹iA3ìfæ+ÒS_TÞr½!©r½ˆ/pm–%!)LPÕS `¨	¯TKxÃ¬!ì3'{b¼-dwØ%ö`T•oV'ˆ>ŠMs;®o.0Ë±v‹PðEðm§ši½[‰k67)³$^L£|zr•s['\’_ä.~ÖŠeNsÎpš3¦dm”hoF5tFL<9¨Yf/ã~¿	e¥ob5¿(ìäzÄx‹g1Mˆ\_Vg*v¸m(žSþf©0×kÂ0ë¹c Q‰O´_qbJîvÔEpv9S<I~s63²GVIù 3»S0j}BVcF79æ1Û\*!gŠhâr€tMRQI’Qhÿ¶†JÀa]ã-¡F	ik
hs$s0nM_².—Wdlþo!/4çç¼^1ïjÈƒ.‡\1 y       @       @y       @       @y333333ã?š™™™™™é?I  Š]xEcy333333ã?š™™™™™é¿I  Š]xEcyš™™™™™é?333333ã¿I  Š]xEcy      ð?:Œ0âŽyE>I  Áoò†# y      ð?:Œ0âŽyE¾I  Áoò†# y      ð¿:Œ0âŽyE>I  Áoò†# y      ð¿:Œ0âŽyE¾I  Áoò†# y:Œ0âŽyE>      ð?I  Áoò†# y:Œ0âŽyE¾      ð?I  Áoò†# y:Œ0âŽyE>      ð¿I  Áoò†# y:Œ0âŽyE¾      ð¿I  Áoò†# y      ð?œWw'&l¡7l              X3YQcJ1H¾ÙÝî}÷Zê¿yœWw'&l¡7      ð?l              X3YQcJ1H¾ÙÝî}÷Zê¿l      Fµx:^V l-                              \l.ž:ˆ'-ü4^SCÑ{¡'#EMÐ˜nî9Iä{;4'Dh3º
4;,Y V|(4Ù"Klõ5Œs (   R
   R   t   logR   R   RC   RB   R   t   ldexpt   mpct   inft   isnant   nanR   (   RD   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_log¤   s@    	"$$"""""""""""""..+$$$$$$$c          C   sÊ  x3t  t d ƒ ƒ t  t d d ƒ ƒ D]}  |  d } t t | ƒ ƒ j t j | ƒ ƒ s` t ‚ t t | ƒ ƒ j t j | ƒ ƒ sŠ t ‚ t t | ƒ ƒ j t j | ƒ ƒ s´ t ‚ t	 t | ƒ ƒ j t j	 | ƒ ƒ sÞ t ‚ t
 t | ƒ ƒ j t j
 | ƒ ƒ st ‚ t t | ƒ ƒ j t j | ƒ ƒ s& t ‚ q& Wt d	 ƒ j t j d
 ƒ ƒ sZt ‚ t d ƒ j t j d ƒ ƒ s~t ‚ t d ƒ j t j d ƒ ƒ s¢t ‚ t d ƒ j t j d ƒ ƒ sÆt ‚ d  S(   Nid   iœÿÿÿi    gffffff@i   y              ð?iüÿÿÿy        ÍÌÌÌÌÌ@y      ð?      ð?y      ð?      ð?y      ÀÍÌÌÌÌÌÀy      ÀÍÌÌÌÌÌÀy      ð?      ð?y      ð?      ð?y      ÀÍÌÌÌÌÌÀy      ÀÍÌÌÌÌÌÀ(   t   listR(   t   cosR   R   RC   R   t   sint   tant   cosht   sinht   tanhRB   (   RD   t   t(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_trig_hyperb_basicÉ   s    ,
*****.$$$c           C   s4  t  d t ƒ d k s t ‚ t  d t ƒ j d ƒ s; t ‚ t  d t ƒ j d ƒ sZ t ‚ t  d t ƒ j d ƒ sy t ‚ t  d t ƒ j d ƒ s˜ t ‚ t d t ƒ d k s´ t ‚ t d t ƒ j d ƒ sÓ t ‚ t d t ƒ j d ƒ sò t ‚ t d t ƒ j d ƒ st ‚ t d t ƒ j d ƒ s0t ‚ d  S(   Ni    i   iZ   i´   iÿÿÿÿi  ih  (   RX   R   R   R   RY   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_degrees×   s    c   	      C   s§   t  j d ƒ g  } x t |  ƒ D] } t  j d d ƒ } t  j d d ƒ } t  j d d ƒ } t  j d d ƒ } t | | ƒ } t | | ƒ } | j | | f ƒ q  W| S(   Ni   iöÿÿÿi
   (   R*   R+   R(   t   uniformt   complext   append(	   t   NR   R-   t   x1t   y1t   x2t   y2t   z1t   z2(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   random_complexesã   s    c          C   s  xf d d d g D]U }  |  t  _ t d ƒ d } | j | j k oZ t d ƒ d d k n s t ‚ q Wd t  _ t j d ƒ xF t	 d ƒ D]8 \ } } t | ƒ t | ƒ j
 | | d ƒ sŒ t ‚ qŒ Wt t d j
 d	 ƒ sæ t ‚ d
 t  _ t t d j
 d	 ƒ st ‚ d t  _ d  S(   Ni   i   id   y              ð?g      à?i   i   gê-™—q=iÿÿÿÿi2   (   R
   R   RR   R   R   R   R   R*   R+   Rk   R   R   R   (   R   R   Ri   Rj   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_complex_powersð   s    	:	0	c          C   sµ   d „  }  t  j d ƒ d } d t _ t j } |  g  t | ƒ D]* } t  j d d ƒ t  j d d ƒ f ^ q> ƒ |  g  t | ƒ D]" } | d | d d | f ^ q ƒ d t _ d  S(	   Nc         S   së   xä |  D]Ü \ } } t  | t | ƒ } t t | | ƒ | ƒ sF t ‚ t  | t | ƒ } t t | | ƒ | ƒ s{ t ‚ t  | t | ƒ } t t | | ƒ | ƒ s® t ‚ t  | t | ƒ } t t | | ƒ | ƒ s t ‚ q Wd  S(   N(   RR   t   jR	   R)   R   (   t   lstR   R   t   z(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_mpc_sqrt   s     i   i
   i   i    gš™™™™™¹?gš™™™™™É?i   (   R*   R+   R
   R   R(   Ra   (   Rp   Rd   R   R-   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_complex_sqrt_accuracyÿ   s    	
		A9c          C   sÖ  d t  _ t d ƒ j t j d ƒ ƒ s- t ‚ t d ƒ d k sE t ‚ t d ƒ j t d ƒ sd t ‚ t d ƒ d k s| t ‚ t d ƒ j t d ƒ sœ t ‚ t d ƒ j t d ƒ s» t ‚ xE d
 d d d d	 g D]. }  |  t  _ d t d ƒ j t ƒ sÑ t ‚ qÑ Wd t  _ t d } t t t d ƒ ƒ j | ƒ s:t ‚ t t t d ƒ ƒ j | ƒ s^t ‚ t t t d ƒ ƒ j | ƒ s‚t ‚ t t d t ƒ ƒ j | ƒ s¦t ‚ t t d t ƒ ƒ j | ƒ sÊt ‚ t t d t ƒ ƒ j | ƒ sït ‚ t t t d ƒ ƒ j | ƒ st ‚ t t t d ƒ ƒ j | ƒ s;t ‚ t t t d ƒ ƒ j | ƒ sat ‚ t t d t ƒ ƒ j | ƒ s‡t ‚ t t d t ƒ ƒ j | ƒ s­t ‚ t t d t ƒ ƒ j | ƒ sÒt ‚ d  S(   Ni   gffffffÀg¸ÔJzî5gšd~ÅQJi   g¸ÔJzîµgšd~ÅQÊi
   iè  i   iF   id   i,  i   i   iÿÿÿÿi    lÞ                                                                                                                                        3qvNÇh×iKaš«K›P­"ÐqÔ¤Ë§!ž–aç0mvK0<tI	DÖ[”•7¨fjwld:,"ÉP±S»^g¶2ë$¥({P_RŒU’vD9û{‹)P¿Anf™YD8Þ5 PgHÙ#ˆqÂEgS‡d27¹}ÂµW>ËY‚§yÔ{A\<	’zýkZ¼ ûp©+‘*ÕeX9šåEŠiÈ/§\;àâ:ö8bGÙ((ema!å Ï6‚o™}Zs'%COdÐ
¨YP]æ÷[BTªvWL?F®Ch_"!•x"'³öj‘jÝ4®x×o«CD<Y#!*³vYyvè#e¸JU>è+i[¼9*-Jc+`ÚS;?lcy (	   R
   R   t   atanR   RC   R   R   RR   RS   (   R   t   pi2(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt	   test_atan  s0    	$ 	#	
$$$$$%&&&&&c           C   s>  d t  _ t d d ƒ j t d ƒ s+ t ‚ t d d ƒ j d t d ƒ sQ t ‚ t d d ƒ j d t d ƒ sw t ‚ t d d ƒ j t d ƒ sš t ‚ t d d ƒ j t d ƒ s½ t ‚ t d d ƒ j t d ƒ sß t ‚ t d d ƒ d k sú t ‚ t t d ƒ j t d ƒ st ‚ t t d ƒ j t d ƒ s@t ‚ t t t t ƒ ƒ s[t ‚ t t t t ƒ ƒ swt ‚ t t t t ƒ ƒ s“t ‚ t t d t ƒ ƒ s®t ‚ t t t d ƒ ƒ sÉt ‚ t t d t ƒ ƒ sät ‚ t t t d ƒ ƒ sÿt ‚ t d t ƒ d k st ‚ t d t ƒ j t ƒ s9t ‚ t d	 t ƒ d k sTt ‚ t d
 t ƒ d k sot ‚ t d
 t ƒ j t ƒ st ‚ t d	 t ƒ j t ƒ s®t ‚ t t d	 ƒ j t d ƒ sÐt ‚ t t d
 ƒ j t d ƒ sòt ‚ t t d	 ƒ j t d ƒ st ‚ t t d
 ƒ j t d ƒ s:t ‚ d  S(   Ni   i   i   iÿÿÿÿi   iýÿÿÿi    i   i
   iöÿÿÿ(	   R
   R   t   atan2R   R   R   RS   RT   RU   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_atan2,  s6    	"&&##""$ ""$c          C   s  t  t d ƒ ƒ d k s t ‚ t t d ƒ ƒ d k s< t ‚ t t d ƒ ƒ d k sZ t ‚ t t  t d ƒ ƒ t ƒ s{ t ‚ t t  t d ƒ ƒ t ƒ sœ t ‚ t t t d ƒ ƒ t ƒ s½ t ‚ t t t d ƒ ƒ t ƒ sÞ t ‚ t t t d ƒ ƒ t ƒ sÿ t ‚ t t t d ƒ ƒ t ƒ s t ‚ t	 j
 d ƒ xÍt d ƒ D]¿}  t	 j d d ƒ } t  t | ƒ ƒ j t j  | ƒ ƒ s|t ‚ t t | ƒ ƒ j t j | ƒ ƒ s¦t ‚ t	 j d d	 ƒ } t t | ƒ ƒ j t j | ƒ j ƒ såt ‚ t t t | ƒ ƒ t ƒ st ‚ t	 j d d	 ƒ } t t | ƒ ƒ j t j | ƒ j ƒ sEt ‚ t t t | ƒ ƒ t ƒ sft ‚ t	 j d d
 ƒ } t t t | ƒ ƒ t ƒ s™t ‚ t	 j d d ƒ } t t | ƒ ƒ j t j | ƒ j ƒ sØt ‚ t t t | ƒ ƒ t ƒ s:t ‚ q:Wt j } d t _ t t  d ƒ t ƒ s*t ‚ d t _ t  d ƒ j t d ƒ sRt ‚ t  d ƒ j t d ƒ srt ‚ | t _ d  S(   Ni    i   g      à?g       @gš™™™™™¹?gš™™™™™ñ?i2   iöÿÿÿi
   g+‡ÙÎ÷ï?iÿÿÿÿi,  iè  i   (   t   asinR   R   t   asinht   acosht
   isinstanceRR   t   acost   atanhR*   R+   R(   Ra   R   RC   RB   R   R
   R   R   (   R-   RD   R   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_areal_inversesI  s@    !!!!!!**-!-!!-%			 c           C   sy  d t  _ t d ƒ d j d ƒ s( t ‚ t d ƒ d j d ƒ sG t ‚ t d ƒ d j d ƒ sf t ‚ t d
 ƒ d j d ƒ s… t ‚ t d ƒ d j d ƒ s¤ t ‚ t d ƒ d j d ƒ sÃ t ‚ t d ƒ j d ƒ sÞ t ‚ t d ƒ j d ƒ sù t ‚ t d ƒ d j d ƒ st ‚ t d ƒ d j d ƒ s7t ‚ t d ƒ d j d ƒ sVt ‚ t d ƒ d j d ƒ sut ‚ d  S(   Ni   gñhãˆµøä>i
   i   g˜µýÿÿÿï?g»½×Ùß|Û=i   g¸ÔJzî5i2   gñhãˆµøä¾g˜µýÿÿÿï¿g»½×Ùß|Û½iÿÿÿÿg¸ÔJzîµi   gC“ž6W_G@gC“ž6W_GÀi † I äT   l          +ÛO¦ ±tC3’y+v° i † I äT   l          +ÛO¦ ±tC3’y+v° l      Fµx:^V l      Fµx:^V lûÿÿÿ   Fµx:^V I äT   I äT   I äT   I äT   (   R
   R   Rx   R   R   R]   R|   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_invhyperb_inaccuracyo  s    	c          C   sË  xÄt  t d ƒ ƒ t  t d d ƒ ƒ D]}  x”t  t d ƒ ƒ t  t d d ƒ ƒ D]m} t |  | ƒ d d } t t | ƒ ƒ j t j | ƒ ƒ s™ t ‚ t t | ƒ ƒ j t j | ƒ ƒ sÃ t ‚ t	 t | ƒ ƒ j t j	 | ƒ ƒ sí t ‚ t
 t | ƒ ƒ j t j
 | ƒ ƒ st ‚ t t | ƒ ƒ j t j | ƒ ƒ sAt ‚ t t | ƒ ƒ j t j | ƒ ƒ skt ‚ t t | ƒ ƒ j t j | ƒ ƒ s•t ‚ t t | ƒ ƒ j t j | ƒ ƒ sR t ‚ qR Wq& Wd  S(   Ni
   iöÿÿÿi    g333333@y        {®Gáz„?(   RW   R(   Rb   RJ   RR   R   RB   R   RP   RX   RY   RZ   R\   R[   R]   (   RD   t   yRo   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_complex_functions~  s    ,,*******c          C   s  d t  _ d t _ xt d ƒ D]ù \ }  } t t |  ƒ ƒ j |  ƒ sL t ‚ t |  ƒ j t	 j |  ƒ ƒ sp t ‚ t
 |  ƒ j t	 j
 |  ƒ ƒ s” t ‚ t |  ƒ j t	 j |  ƒ ƒ s¸ t ‚ t |  ƒ j t	 j |  ƒ d d ƒsâ t ‚ t |  ƒ j t	 j |  ƒ d d ƒst ‚ t d ƒ } q Wx§ t d d d ƒ D]“ } xŠ t d d d ƒ D]v } d	 t d | d
 | d | } t t | ƒ ƒ } | j | ƒ s—t ‚ t t | ƒ ƒ } | j | ƒ sHt ‚ qHWq/Wt d ƒ } d d } x­ t d d d ƒ D]™ } x t d d d ƒ D]| } d d | t d
 | d | } t t | ƒ ƒ } | j | | ƒ sZt ‚ t t | ƒ ƒ } | j | | ƒ st ‚ qWqïWd  S(   Ni   i   t   rel_epsgê-™—q=i   i÷ÿÿÿi
   i   gÍÌÌÌÌÌì?gš™™™™™é?i   iñÿÿÿi	   gÍÌÌÌÌÌì¿gVçž¯Ò<(   R
   R   t   ivRk   R\   Rx   R   R   Ry   RB   R|   Rr   Rw   R{   R   R(   Rm   RX   RY   R[   (   Ri   Rj   t   oneR-   t   kR   R   t   err(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_complex_inverse_functions‹  s4    		!$$$**"
"c           C   s~  t  d ƒ j d ƒ s t ‚ t d ƒ j d ƒ s6 t ‚ t d ƒ j d ƒ sQ t ‚ t d ƒ j d ƒ sl t ‚ t d ƒ j d ƒ s‡ t ‚ t d ƒ j d ƒ s¢ t ‚ t d ƒ j d ƒ s½ t ‚ t	 d ƒ j d	 ƒ sØ t ‚ t
 d ƒ j d
 ƒ só t ‚ t d ƒ j d ƒ st ‚ t d ƒ j d ƒ s)t ‚ t d ƒ j d ƒ sDt ‚ t
 d ƒ j d ƒ s_t ‚ t d ƒ j d ƒ szt ‚ d  S(   Ni   gE²W´g)ð¿gÙ°
D<X@g^f]žÀg±ŽØŽm¹?g¹)	è¹?gL–É<[ð?gÔè‚€²ó?gOã¿Õ?gáž&£—Ô?g      à?g5˜qBõ?gH·•yñôÔ?gï9úþB.Ö?i    g-DTû!ù?y        -DTû!ù?(   t   secR   R   t   csct   cott   secht   cscht   cotht   asect   acsct   acott   asecht   acscht   acoth(    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_reciprocal_functions¬  s    c           C   s—   d t  _ t t d ƒ d ƒ d k s* t ‚ t t d ƒ d ƒ d k sK t ‚ t t d ƒ d ƒ d k sl t ‚ t t d ƒ d	 ƒ t d ƒ k s“ t ‚ d  S(
   Ni   g      @i    iÿÿÿÿg      ô?i   i
   RS   i   (   R
   R   RQ   R   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_ldexp¼  s
    	!!!c           C   s…   d t  _ t d ƒ d k s! t ‚ t d ƒ d k s9 t ‚ t d ƒ d k sQ t ‚ t d	 ƒ d k si t ‚ t d ƒ d k s t ‚ d  S(   Ni   i    g        i	   g      â?i   i   g      à?gš™™™™™É?gš™™™™™é?iþÿÿÿiè  g     @ï?i
   (   g        i    (   g      â?i   (   g      à?i   (   gš™™™™™é?iþÿÿÿ(   g     @ï?i
   (   R
   R   t   frexpR   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_frexpÃ  s    	c           C   sÉ   t  d ƒ t d ƒ k s t ‚ t d ƒ t d d ƒ k s? t ‚ t d ƒ d t k s[ t ‚ t d ƒ d t k sw t ‚ t d d ƒ t k s’ t ‚ t	 d d ƒ d k r¿ t
 t	 d d ƒ t ƒ sÅ t ‚ d  S(	   Ni   g      @i
   gffffff@iÿÿÿÿg      à?i   g      @(   t   lnRP   R   t   log10t   degreesR   t   radianst   powerRm   t   fmodRz   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_aliasesË  s    !c           C   sU  t  d ƒ d k s t ‚ t  d ƒ j t ƒ s3 t ‚ t  t ƒ j t d ƒ sR t ‚ t  t ƒ j t d ƒ ss t ‚ t  d ƒ d k s‹ t ‚ t t d t ƒ ƒ s¦ t ‚ t t t d ƒ ƒ sÁ t ‚ t t d t ƒ ƒ sÜ t ‚ t t t d ƒ ƒ s÷ t ‚ t t t t ƒ ƒ st ‚ t  t ƒ d k s*t ‚ t  t ƒ j t ƒ sFt ‚ t t  t ƒ ƒ s^t ‚ t	 d ƒ d k svt ‚ t	 d ƒ d k sŽt ‚ t	 d ƒ d k s¦t ‚ t	 t ƒ d k s¾t ‚ t	 t ƒ d k s×t ‚ t t	 t ƒ ƒ sït ‚ t	 t ƒ t k st ‚ t	 d t ƒ t k s$t ‚ t	 d t ƒ j d t t
 d ƒ ƒ sQt ‚ d  S(   Ni   i    iýÿÿÿi   i   iÿÿÿÿ(   t   argR   R   R   Rm   RT   Ru   RU   RS   t   signR)   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_arg_signÓ  s,    !c           C   s    d t  _ t d ƒ d t  _ d  S(   Niè  i  i   (   R
   R   RP   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_misc_bugsì  s    	
c           C   sJ  t  d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d	 ƒ t d
 ƒ t d ƒ g
 k sr t ‚ t  d d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ g
 k sç t ‚ t  d d d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ g
 k s_t ‚ t  d d  d! ƒ t d" ƒ t d# ƒ t d$ ƒ t d
 ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d% ƒ g	 k sÎt ‚ t  d& d d' ƒ t d ƒ g k sõt ‚ t  d ƒ g  k st ‚ t  d( d) ƒ g  k s(t ‚ t  d* d+ d, ƒ g  k sFt ‚ d  S(-   Ni
   s   0.0s   1.0s   2.0s   3.0s   4.0s   5.0s   6.0s   7.0s   8.0s   9.0iûÿÿÿi   s   -5.0s   -4.0s   -3.0s   -2.0s   -1.0i    i   gš™™™™™¹?s   0.10000000000000001s   0.20000000000000001s   0.30000000000000004s   0.40000000000000002s   0.5s   0.60000000000000009s   0.70000000000000007s   0.80000000000000004s   0.90000000000000002i   i÷ÿÿÿiýÿÿÿs   17.0s   14.0s   11.0s   -7.0gš™™™™™É?gš™™™™™¹¿iè  iÿÿÿÿg®Gáz®ó¿g®Gáz®	@gH¯¼šò×z¾(   t   arangeR   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_arangeò  s*    -$!'3!					**'c        	   C   së   t  d d d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d	 ƒ t d
 ƒ g k s] t ‚ t  d d d d d ƒt d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ g k sÀ t ‚ t  d d d ƒ t d ƒ g k sç t ‚ d  S(   Ni   i	   i   s   2.0s   3.166666666666667s   4.3333333333333339s   5.5s   6.666666666666667s   7.8333333333333339s   9.0t   endpointi    s   3.0s   4.0s   5.0s   6.0s   7.0s   8.0i   (   t   linspaceR   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_linspace	  s    !!03c          C   s‰  d t  _ x@ t d d d ƒ D], }  t |  |  |  ƒ j |  t ƒ s t ‚ q Wt d ƒ j d t t d ƒ d ƒ sy t ‚ t	 d	 ƒ d } x† t d d d
 ƒ d d g D]g }  t
 |  d ƒ }  t |  ƒ } t  j d 7_ t |  | ƒ } t  j d 8_ | j | t ƒ s§ t ‚ q§ Wd t  _ x^ t d d d ƒ D]J } d | t d } | | | } t | ƒ } t | | t ƒ s.t ‚ q.Wd t  _ d  S(   Ni   i    i
   gš™™™™™¹?iÿÿÿÿg      à?i   i   i   gš™™™™™@i   y        š™™™™™ñ?id   i-  iýÿÿÿi   i † gü©ñÒMbP?(   R
   R   R¢   RH   R   R   R   Rm   R)   R   RR   t   powR(   R	   (   R   t	   one_thirdt   r1t   r2R2   t   wRo   t   r(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_float_cbrt  s&    	*-$	c    	      C   sZ  d t  _ t j d ƒ t j d d ƒ }  |  |  |  } t t | ƒ d ƒ } | |  k s] t ‚ xB t d d ƒ D]1 } | |  } t t | ƒ | ƒ |  k sm t ‚ qm Wd t  _ xÁ t d d	 d
 ƒ D]­ } x¤ t j ƒ  d t j ƒ  d g D]‚ }  t |  | ƒ } t	 |  t d ƒ | ƒ } | j
 | ƒ s(t ‚ t |  | ƒ } t	 |  t d ƒ | ƒ } | j
 | ƒ så t ‚ qå Wq¾ Wx­ d d d g D]œ } | t  _ xŠ d d d d g D]v } d } xg t d ƒ D]Y } | t  _ t ƒ  }  d | t  _ |  | } | t  _ t | | ƒ } | |  k sºt ‚ qºWq¡WqWd t  _ x™t d d ƒ D]ˆ} t j ƒ  t t j ƒ  }  t |  | ƒ j
 t	 |  t d ƒ | ƒ ƒ s‰t ‚ t t |  | ƒ t	 |  t d ƒ | ƒ ƒ sºt ‚ t j ƒ  d t t j ƒ  }  t |  | ƒ } t  j d 7_ t	 |  t d ƒ | ƒ } t  j d 8_ | j
 | ƒ s3t ‚ t | | t ƒ sKt ‚ t |  | ƒ } t  j d 7_ t	 |  t d ƒ | ƒ } t  j d 8_ | j
 | ƒ s¨t ‚ t | | t ƒ s8t ‚ q8Wd t  _ t d d ƒ d k sèt ‚ t d d ƒ d k st ‚ t d d ƒ d k st ‚ t t d ƒ t k s9t ‚ t t d ƒ t k sTt ‚ t t d ƒ t k sot ‚ t t d ƒ d k sŠt ‚ t t d ƒ d k s¥t ‚ t t d ƒ d k sÀt ‚ t t d ƒ t k sÛt ‚ t t d ƒ d k söt ‚ t t d ƒ t k st ‚ t t t d ƒ ƒ s-t ‚ t t t d ƒ ƒ sHt ‚ t t t d ƒ ƒ sct ‚ t t t d ƒ ƒ s~t ‚ t d d ƒ t d d ƒ k s¢t ‚ t d d d ƒ d k sÀt ‚ t d d d ƒ d k sÞt ‚ t d d d ƒ d k süt ‚ t d d d ƒ d k st ‚ t d d d ƒ d k s8t ‚ t d d d ƒ d k sVt ‚ d  S(   Ni   i   i    i'  i   i   i
   i(   iˆ  id   t   nearestt   upt   downiûÿÿÿiýÿÿÿi   i2   i   i   i   iÿÿÿÿg      Ð?iþÿÿÿi   y               @y               Àiƒÿÿÿl                DG¨†dªrÓâÈYâ|gÄO¬s&YR5I l                DG¨†dªrÓâÈYâ|gÄO¬s&YR5I (   R
   R   R*   R+   R,   t   nthrootR   R   R(   R§   R   R0   R&   t   randRm   R	   R   RS   RT   RU   t   root(	   R   t   pR¬   R2   R©   R?   R&   R-   R   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt	   test_root&  s    	
%	'			
		11	$c          C   s-  xg d d g D]Y }  |  t  _ t t d ƒ d ƒ } | j t d ƒ d d t t d ƒ d	 ƒ s t ‚ q Wd t  _ t d
 d ƒ j t d ƒ d d d t t d ƒ ƒ s± t ‚ t d d ƒ j d t d t d ƒ ƒ sá t ‚ d t  _ t d d ƒ j d t t d ƒ t d ƒ ƒ s t ‚ d t  _ d  S(   Ni   iP   s   -1e-20i   i
   iûÿÿÿi   i   g      à¿s   -1e-3g      Às   -1e-6s   -1e100000000t
   1e25000000i   (   R
   R   R±   R   R   Rm   R   R)   (   R   R¬   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_issue_136r  s    	9	>0	6c          C   s&  d t  _ t d ƒ }  t d ƒ } t t |  d ƒ ƒ t |  ƒ k sH t ‚ t t d | ƒ ƒ t t | ƒ t | ƒ ƒ k s~ t ‚ t t |  d ƒ ƒ t |  ƒ k s¥ t ‚ t t |  d ƒ ƒ t |  ƒ k sÌ t ‚ t t d | ƒ ƒ t | ƒ k só t ‚ t t d | ƒ ƒ t d t	 | ƒ ƒ k s#t ‚ t
 t |  d ƒ ƒ t
 |  ƒ k sJt ‚ t t |  d ƒ ƒ t |  ƒ k sqt ‚ t
 t d | ƒ ƒ j t t | ƒ ƒ sŸt ‚ t t d | ƒ ƒ j t d t	 t | ƒ ƒ ƒ sÖt ‚ t t |  d ƒ ƒ \ } } | t
 |  ƒ k s	t ‚ | t |  ƒ k s!t ‚ t t d | ƒ ƒ \ } } | j t t | ƒ ƒ s[t ‚ | j t d t	 t | ƒ ƒ ƒ sƒt ‚ t t |  d ƒ ƒ \ } } | t |  ƒ k s¶t ‚ | t |  ƒ k sÎt ‚ t t d | ƒ ƒ \ } } | t | ƒ k st ‚ | t d t	 | ƒ ƒ k s"t ‚ d  S(   Ni   g333333Ó?gš™™™™™Ù?i    (   R
   R   R   RJ   RR   R   RX   RY   R[   R\   t   cospit   sinpiR   R   t   cospi_sinpit   cos_sin(   RD   R   t   ct   s(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_mpcfun_real_imag  s2    	'6'''0''.7(c          C   s?  d t  _ t d	 }  t d
 } d |  } d | } d t  _ t |  ƒ d k sS t ‚ t |  d d ƒd k sq t ‚ t | d d ƒd k s t ‚ t |  d d ƒd k s­ t ‚ t | d d ƒd k  sË t ‚ t |  ƒ d k sã t ‚ t |  d d ƒd k st ‚ t | d d ƒd k st ‚ t |  d d ƒd k  s=t ‚ t | d d ƒd k  s[t ‚ xÄ t t t t	 g D]° } | |  ƒ |  
k st ‚ | |  d d ƒ|  k s«t ‚ | |  d d ƒ|  k  sÉt ‚ | | ƒ | 
k sât ‚ | | d d ƒ| k s t ‚ | | d d ƒ| k  snt ‚ qnWxÄ t
 t t t g D]° } | |  ƒ |  
k sTt ‚ | | ƒ | 
k smt ‚ | |  d d ƒ|  k s‹t ‚ | | d d ƒ| k s©t ‚ | |  d d ƒ|  k  sÇt ‚ | | d d ƒ| k  s5t ‚ q5Wt | ƒ |  
k st ‚ t | ƒ | 
k st ‚ t | d d ƒ|  k s9t ‚ t | d d ƒ|  k  sWt ‚ t | d d ƒ| k sut ‚ t | d d ƒ| k  s“t ‚ t |  ƒ d k s«t ‚ t | ƒ d k sÃt ‚ t |  d d ƒd k sát ‚ t | d d ƒd k sÿt ‚ t |  d d ƒd k st ‚ t | d d ƒd k s;t ‚ d  S(   Nid   i
   i2   i   i   R0   R¼   t   fl          +ÛO¦ ±tC3’y+v° l          +ÛO¦ ±tC3’y+v° (   R
   R   R   RJ   R   RX   RY   Rr   Rx   R]   Rw   RZ   R\   R|   R—   R[   (   R   R   R¼   R1   R¿   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_perturbation_roundingš  sT    	


	""c           C   sd   t  d ƒ d k s t ‚ t d ƒ d k s0 t ‚ t  d ƒ d k sH t ‚ t d ƒ d k s` t ‚ d  S(	   Ngš™™™™™	@i   i   y              @yš™™™™™	@      @y      @      @yš™™™™™	@      @y      @      @(   t   floorR   t   ceil(    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_integer_partsÆ  s    c           C   sâ   t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t d ƒ d k sH t ‚ t d	 ƒ d k s` t ‚ t d ƒ d k sx t ‚ t d
 ƒ d k s t ‚ t d ƒ d k s¨ t ‚ t d ƒ d k sÀ t ‚ t d ƒ j ƒ  d k sÞ t ‚ d  S(   Nt   3i   y              @i   i   i    i   y      @      @y      ð?      @y      ð?      @y      @      @y      @      À(   t   fabsR   t   ret   imt   conjR   t	   conjugate(    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_complex_partsÌ  s    c          C   s®  t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t  d ƒ d k sH t ‚ t  d ƒ d k s` t ‚ t  d ƒ d k sx t ‚ t  d ƒ d k s t ‚ t  d ƒ d k s¨ t ‚ t d ƒ d k sÀ t ‚ t d ƒ d k sØ t ‚ t d ƒ d k sð t ‚ t d ƒ d k st ‚ t d ƒ d k s t ‚ t d ƒ d k s8t ‚ t d ƒ d k sPt ‚ t d	 ƒ j t d ƒ d ƒ sut ‚ t d ƒ }  |  j j t d t ƒ j ƒ s¦t ‚ |  j d k s»t ‚ t  d ƒ } | j j t	 d t ƒ j ƒ sìt ‚ | j d k st ‚ d t
 _ t d ƒ t d ƒ } t d ƒ t d ƒ } t d ƒ t d ƒ } t d ƒ t d ƒ } t d ƒ t d ƒ } t d ƒ t d ƒ } t d ƒ t d ƒ } t d ƒ t d ƒ }	 d t
 _ d }
 t  | ƒ |
 j t ƒ sét ‚ t  | ƒ |
 j t ƒ st ‚ t | ƒ |
 j t ƒ s't ‚ t | ƒ |
 j t ƒ sGt ‚ t  | ƒ |
 j t ƒ sft ‚ t  | ƒ |
 j t ƒ s†t ‚ t | ƒ |
 j t ƒ s¦t ‚ t |	 ƒ |
 j t ƒ sÅt ‚ d t | d d ƒk  oèd k  n sót ‚ d t | d d ƒk  od k  n s!t ‚ d t  | d d ƒk  oDd k  n sOt ‚ d t  | d d ƒk  ord k  n s}t ‚ d t | d d ƒk  o d k  n s«t ‚ d t | d d ƒk  oÎd k  n sÙt ‚ d t  | d d ƒk  oüd k  n st ‚ d t  |	 d d ƒk  o*d k  n s5t ‚ t  d ƒ |
 j t ƒ sTt ‚ t  d ƒ |
 j t ƒ stt ‚ t d ƒ d k sŒt ‚ t d d d ƒd k  sªt ‚ d  S(   Ni    g      à?i   g      ø?iÿÿÿÿi   g      @g      à¿g @ èvH7By              @i#   i'  s   1e-15g    @ˆÃ@i'  g    ÀˆÃ@i   i
   g+‡ÙÎ÷ï?R0   R1   g+‡ÙÎ÷ï¿gVçž¯Ò<gVçž¯Ò¼y       @      @y       @      @y       @      @y       @      @I €Æ¤~ (   R¹   R   R¸   R   R)   R   RX   R   R   RY   R
   R   R   (   R   R   Re   Rg   t   x3t   x4t   x5t   x6t   x7t   x8t   M(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_cospi_sinpi×  sh    %%%		    ........ c           C   s:  t  d ƒ d k s t ‚ t  d ƒ j t t ƒ ƒ s9 t ‚ t  t ƒ j t d ƒ ƒ sZ t ‚ t  d t ƒ j t t d t ƒ ƒ s‡ t ‚ t d ƒ d k sŸ t ‚ t d ƒ j t t t ƒ ƒ sÄ t ‚ t t ƒ j t t ƒ ƒ sæ t ‚ t d t ƒ j t t t d t ƒ ƒ st ‚ t d t ƒ j d ƒ s6t ‚ d  S(	   Ni    i   iÿÿÿÿi
   i   s%   2.22579818340535731e+1364376353841841I €Æ¤~ I €9[rüÿ(   t   expjR   R   RJ   Rm   t   expjpiR   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt	   test_expj  s    !!-%"1c           C   sù   t  d ƒ t d ƒ k o# d k n s. t ‚ t  t ƒ t t ƒ k oQ d k n s\ t ‚ t  t ƒ t t ƒ k o d k n sŒ t ‚ t  d ƒ j d ƒ s§ t ‚ t  d
 ƒ j d ƒ sÂ t ‚ t d ƒ d k sÚ t ‚ t d ƒ j d	 ƒ sõ t ‚ d  S(   Ni    i   i   gF´ÑêöÝ?y              @gŒ–À¤§Ü?y        \ša@g      ø?g¶·ç•)Ë¿y       @      @yŒ–À¤§Ü?\šaÀ(   t   sinct   sincpiR   RS   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt	   test_sinc  s    ..0c          C   sA  d t  _ g  t d d ƒ D] }  t |  ƒ ^ q d d d d d d	 d d d d
 d d d d d g k sj t ‚ t d ƒ j d ƒ s… t ‚ t d ƒ j d ƒ s  t ‚ t d ƒ j d ƒ s» t ‚ t t d ƒ ƒ d k sÙ t ‚ d t  _ t d ƒ } | d d k st ‚ d t  _ t t ƒ t k s%t ‚ t d  ƒ d k s=t ‚ d  S(!   Ni   iûÿÿÿi
   i   iýÿÿÿi   iÿÿÿÿi   i    i   i   i   i   i"   g      @g áÞ3Ô÷?y              @gÉ½å‚€´Ày        ºÆC,û¹Ë@iè  ga¹Úƒeì@kid   sv   6.24499112864607e+2089876402499787337692720892375554168224592399182109535392875613974104853496745963277658556235103534i4  i'  IÛÅèP   y                y      @      @yÉ½å‚€´ÀºÆC,û¹ËÀl                DG¨†dªrÓâÈYâ|gÄO¬s&YR5I I äT   y      @        (	   R
   R   R(   t	   fibonacciR   t   fibR   t   strRS   (   R2   R   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_fibonacci!  s    	%<		c           C   s>   d t  _ t t d d d ƒt d d ƒ ƒ d k  s: t ‚ d  S(   Ni   i   R   i   i#   gG³¦þ^Zé9(   R
   R   t   absRJ   R   R   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_call_with_dps0  s    	c           C   s   d t  _ t d ƒ d k s! t ‚ t t ƒ d k s9 t ‚ t t ƒ d k sR t ‚ t t t ƒ ƒ sj t ‚ t t d d ƒ ƒ d k s‹ t ‚ d  S(   Ni   i    i   iÿÿÿÿRS   t   0(   R
   R   R]   R   RS   RT   RU   RR   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt	   test_tanh4  s    	c          C   sÜ  d t  _ t d ƒ d k s! t ‚ t d ƒ j d ƒ s< t ‚ t d ƒ j d ƒ sW t ‚ t d ƒ t k so t ‚ t d ƒ t k sˆ t ‚ t t t ƒ ƒ s  t ‚ t t d ƒ t	 ƒ s» t ‚ t t d ƒ t	 ƒ sÖ t ‚ t
 t d	 }  t t ƒ j |  ƒ s t ‚ t t ƒ j |  ƒ st ‚ t t t d ƒ ƒ j |  ƒ sAt ‚ t t t d ƒ ƒ j |  ƒ sft ‚ t t t d ƒ ƒ j |  ƒ sŠt ‚ t t d t ƒ ƒ j |  ƒ s®t ‚ t t d t ƒ ƒ j |  ƒ sÒt ‚ t t d t ƒ ƒ j |  ƒ söt ‚ t t t d ƒ ƒ j |  ƒ st ‚ t t t d ƒ ƒ j |  ƒ s@t ‚ t t t d ƒ ƒ j |  ƒ sft ‚ t t d t ƒ ƒ j |  ƒ sŒt ‚ t t d t ƒ ƒ j |  ƒ s²t ‚ t t d t ƒ ƒ j |  ƒ sØt ‚ d  S(
   Ni   i    g      à?g­zê“á?g      à¿g­zê“á¿i   iÿÿÿÿi   (   R
   R   R|   R   R   RS   RT   RU   Rz   R   Rm   R   RR   (   t   jpi2(    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_atanh<  s0    	%%$$$$%%&&&c           C   sœ   d t  _ t d ƒ d k s! t ‚ t d ƒ j t d ƒ d ƒ sF t ‚ t t ƒ t k s^ t ‚ t d ƒ j d ƒ sy t ‚ t d ƒ d j d ƒ s˜ t ‚ d  S(	   Ni   i    i   i   g¸ÔJzî5g»½×Ùß|Û=g    _ Bgœo   ð?(   R
   R   t   expm1R   R   RJ   RS   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_expm1W  s    	%c           C   s˜   d t  _ t d ƒ d k s! t ‚ t d ƒ j t d	 ƒ ƒ sB t ‚ t t ƒ t k sZ t ‚ t d ƒ j d ƒ su t ‚ t d ƒ d j d ƒ s” t ‚ d  S(
   Ni   i    i   i   g¸ÔJzî5g»½×Ùß|Û=g    _ BgÈ ùÿÿÿï?i   (   R
   R   t   log1pR   R   RP   RS   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_log1p_  s    	!c           C   sÛ  d t  _ t d d ƒ d k s$ t ‚ t d d ƒ d k s? t ‚ t d d ƒ d k sZ t ‚ t d d ƒ d k su t ‚ t d d ƒ d k s t ‚ t d d	 ƒ d k s« t ‚ t d d ƒ d k sÆ t ‚ t d	 d ƒ d k sá t ‚ t d	 d ƒ d k sü t ‚ t d	 d ƒ d k st ‚ t d	 d
 ƒ d k s2t ‚ t t d ƒ d k sMt ‚ t t d ƒ d k sit ‚ t d d ƒ d j t ƒ s‹t ‚ t d d ƒ d k s¦t ‚ t t d	 d d t ƒd
 ƒ d j d
 ƒ s×t ‚ d  S(   Ni   i   i   i   iÿÿÿÿi    iþÿÿÿy              @i   i   i   g0Žä.ÿ++g}Ã”%­I²Ts   1e-100000000000t   exacty      @      @y      @      @(	   R
   R   t   powm1R   Rm   R   R   t   faddR   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt
   test_powm1g  s"    	"c          C   se  t  d ƒ d g k s t ‚ t  d ƒ d d g k s9 t ‚ t  d ƒ \ }  } } |  d k s` t ‚ | j d ƒ su t ‚ | j d ƒ sŠ t ‚ t  d d t ƒd g k s« t ‚ t  d d t ƒd g k sÌ t ‚ t  d d t ƒt  d ƒ d k sô t ‚ t  d d t ƒt t g k st ‚ t t  d	 d t ƒƒ d
 k s=t ‚ t t  d
 d t ƒƒ d k sat ‚ d  S(   Ni   i   iÿÿÿÿi   g      à¿y        ªLXèz¶ë?t	   primitivei   i   i   i   y      à¿ªLXèz¶ë?y      à¿ªLXèz¶ë¿(   t	   unitrootsR   R   R   Rm   t   len(   R   R   R¼   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_unitrootsz  s    !!(%$c           C   sW  d t  _ g  t d ƒ D] }  t |  d ƒ ^ q d d d d d d d d d d d d	 d d
 d d d d d d d d d d d d d d d d d g k sš t ‚ g  t d ƒ D] }  t |  d ƒ ^ q§ d d d d d d d d d d d d d d d d d d d d d d d	 d d d d
 d d d d g k s+t ‚ g  t d ƒ D] }  t |  t ƒ ^ q8d d t d t t d d t t d t d t d d t d d d t t d g k s©t ‚ g  t d ƒ D] }  t |  t ƒ ^ q¶d d t d t t d d t t d t d t d d t d d d t t d g k s*t ‚ t d t ƒ d k sEt ‚ t d t ƒ d k s`t ‚ t t d d ƒ} t d | ƒ j d ƒ st ‚ t d | ƒ j d ƒ s®t ‚ t d | ƒ j d ƒ sÌt ‚ t d d ƒ d k sçt ‚ t d d ƒ d k st ‚ t d d ƒ d k st ‚ t d d ƒ d  k s8t ‚ t d d ƒ d k sSt ‚ d  S(!   Ni   i   i   i    i   i   i   i   i   i   i   i   i   i   iÿÿÿÿiþÿÿÿi   iX  i@ƒ  R&   iô  i   i   gæ?3OP@iø  g      @g    Àcy@g      ø?g      @g      @g     €!@g     €#@(   R
   R   R(   t
   cyclotomicR   Rm   R)   R   (   R2   R3   (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   test_cyclotomicˆ  s     	‘‘~(D   t   mpmath.libmpt   mpmathR*   t   timeRC   RB   R   R	   R   R   R   R   R   R   R   R   R   t   taperyR!   R#   R%   R'   R/   R@   RE   RG   RI   RN   RO   RV   R_   R`   Rk   Rl   Rq   Rt   Rv   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ð   (    (    (    s:   lib/python2.7/site-packages/mpmath/tests/test_functions.pyt   <module>   s„   

						
			%								&			!										L			,			6											