ó
¸ÀÃ[c        	   @   sû   d  Z  d d l Z d d l Td d d d d d	 d
 d d g	 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 S(*   s¢   
Check that the output from irrational functions is accurate for
high-precision input, from 5 to 200 digits. The reference values were
verified with Mathematica.
iÿÿÿÿN(   t   *i   i   i   i#   i9   iP   id   i–   iÈ   sÐ   3.30284713436377391275876803314562380904138995349793353854327927560584122005190453639516359942830710966670018467204785635351686739977424359467433521615861420725323528325327484262075464241255915238845599752675sÐ   5.71968116660100761711126139862993996586087395735332073427571622004575031474116300529519620938123730851145473473708966080207482581266469342214824842256999042984813905047895479210702109260221361437411947323431sÎ   1.817373691447021556327498239690365674922395036495564333152483422755144321726165582817927383239308173567921345318453306994746434073691275094484777905906961689902608644112196725896908619756404253109722911487sÎ   2.225720098415113027729407777066107959851146508557282707197601407276891609981857975041980629117682408088391049870215155556508759777242301303584116233925658621288393930286871862273400475179312570274423840384sÎ   1.284905763908469090237158152911094998326118243004089814767205283365366806295344912751148770908342968313734983365598490507558486118542820012501924311019152914021365263161630765255610885489295778894976075186sÎ   1.194784864491089550288313512105715261520511949410072046160598707069433665315502577054630913744068705636675765090975470830211520433807759520383005773986664564927027147084436553262269459110211221152925732612sÎ   1.887798592169701811162407755044329727684473684085359021296200681166304949387789489704203167470111267581371396245317618589339274243008242708014251531496104028712866224020066439049377679709216784954509456421sÎ   1.047120495284080266356771429707876318925635710976967218521933416973494842658098540924372852946866518064266495415042404701682127231333265421818300136462287639956713914482701017346851009323172531601894918640sÎ   27.18994224087168661137253262213293847994194869430518354305430976149382792035050358791398632888885200049857986258414049540376323785711941636100358982497583832083513086941635049329804685212200507288797531143sÎ   22.98606617170543596386921087657586890620262522816912505151109385026401601793265695261528519838471335139902815184172119647103972331571688524963130831190142571659948419307628119985383887599493378056639916701sÏ   -14.52355745029148972721475057159027277466990742447812928090237585119628333771623790317247340500885657109757588244418452781201057288244973083036065619788140201636218705414429933685889542661364184694108251449sÎ   928.7025342285568142947391505837660251004990092821305668257284426997361966028275685583421197860603126498884545336686124793155581311527995550580229264427202446131740932666832138634013168125809402143796691154sÎ   44.09156071394489511956058111704382592976814280267142206420038656267677079165106527905023991931098195638645689862346548644620952311385005058197456514795059492120303477512711977915544927440682508821426093455sÎ   27.06937151157322475047810514673785214166495546126621836721252761227988693223045365532546590492054144277076758021938107113029475363320404745738166261217563960235014674118610092944307893857862518964990092301sÐ   -0.1517131067785959009100105773467642307652714505278738858933435052480841958820194977792024529753505790737168112841690680826707789862351790813026562962084477640470612184016755250592698408112493759742219150452sÏ   1.2697592504953448936553147870155987153192995316950583150964099070426473683793257717694763253547504052174916238334775882730750452652564775997547638617201824468382194146854367480471892602963428122896045019902sÐ   -0.1605565385746906274027479290796804815416443377293815624350908400938437090841460493108570147191289893388608611542655654723437248152535114528368009465836614227575701220612124204622383149391870684288862269631sÐ   -0.8589704057744383377635810680377758966432299779412615347706079580109151695416961724733492511852267067419573754315098042850381158563024337216458577140500488715469780315833217177634490142748614625281171216863sÎ   -24.4696999681556977743346798696005278716053366404081910969773939630714921513545979447344846573458928749188056318362499743519363738988420602151395451271809790360963144464736839412254746645151672423256977064sÏ   -150.4250537824178467180140596587297276559507369098408016075078556581098183144824991354438270553996556459548309313163572437508390881131228165837169201254329464271121058839499197583056427233866320456505060735sÐ   -0.9870266449903537839933243924396703889570926141447649573078886400405406821549361039745258003422386169330787395654908532996287293003581554257037193284199198069707141161341820684198547572456183525659969145501sÐ   -0.5120252357098200185619569646066397109969226134282754042613621553352686662667660613179619804463250686852463876088694806607652218586060613951310588158830695735537073667299449753951774916401887657320950496820sÏ   0.1626668736751881173414010598588351680071378194959989602501421568486396547188094121815433431681748079855599166435491745304598838264510649667996119428949951351938178809444268785629011625179962457123195557310sÌ   6.8226966159475384888265861863101625999748271395644339126019184429111026830824380070400102213741875804368044342309515353631134074491271890467615882710035471686578162073677173148647065131872116479947620E-6sÏ   0.9999795833048243692245661011298447587046967777739649018690797625964167144641997885223596086284160808141316960103823007312948287483205335757162702259309150715669026865777947502665936317953101462202542168429c          C   sM  xt  D]
}  |  d t _ t t ƒ } t t ƒ } d t t ƒ } t | | ƒ } |  t _ t d ƒ t d j	 | ƒ s} t
 ‚ t d t d j	 | ƒ sž t
 ‚ t | ƒ j	 t t ƒ ƒ s¿ t
 ‚ t | ƒ j	 t t t ƒ ƒ sã t
 ‚ t | ƒ j	 t t ƒ ƒ st
 ‚ t | ƒ j	 t t t ƒ ƒ s(t
 ‚ t | ƒ j	 t t ƒ ƒ sIt
 ‚ t | ƒ j	 t t t ƒ ƒ smt
 ‚ | | j	 t t ƒ ƒ sŒt
 ‚ | | j	 t t t ƒ ƒ s®t
 ‚ | | j	 t t t ƒ ƒ sÐt
 ‚ t t ƒ j	 t t ƒ ƒ sñt
 ‚ t | ƒ j	 t t ƒ ƒ st
 ‚ t | ƒ j	 t t  t! ƒ ƒ s6t
 ‚ t" t ƒ j	 t t# ƒ ƒ sWt
 ‚ t" | ƒ j	 t t$ ƒ ƒ sxt
 ‚ t% t ƒ j	 t t& ƒ ƒ s™t
 ‚ t% | ƒ j	 t t' t( ƒ ƒ s½t
 ‚ t% | ƒ j) j	 t t' ƒ d d ƒsçt
 ‚ t% | ƒ j* j	 t t( ƒ d d ƒs t
 ‚ q Wd t _ t+ t d ƒ ƒ d	 d
 k s@t
 ‚ d t _ d  S(   Ni   iè  i   i   i   t   abs_epsg\Æ(.{`iÌ  iìÿÿÿt   02166121184001409826i   (,   t   precst   mpt   dpst   mpft   at   bt   mpct   sqrtt   pit   aet   AssertionErrort   et   eulert   sqrt_at   sqrt_abi_realt   sqrt_abi_imagt   logt   log_at   log_abi_realt   log_abi_imagt   expt   exp_at   exp_abi_realt   exp_abi_imagt   pow_a_bt   pow_a_abi_realt   pow_a_abi_imagt   pow_abi_abi_realt   pow_abi_abi_imagt   sint   sin_at	   sin_1000at   sin_abi_realt   sin_abi_imagt   cost   cos_at	   cos_1000at   tant   tan_at   tan_abi_realt   tan_abi_imagt   realt   imagt   str(   R   t   aat   bbt   a1000t   abi(    (    s3   lib/python2.7/site-packages/mpmath/tests/test_hp.pyt   test_hpŸ   s<    	#!!$!$!$""!!$!!!$*.	"c   	      C   s  t  |  ƒ } t |  ƒ } d } | j | |  d ƒ } | j d d ƒ j d d ƒ } d } x( | D]  } | d k r | d 7} q` Pq` Wt t | ƒ ƒ d t | ƒ | } | d | d k rÅ t ‚ n  t t | ƒ ƒ } t | ƒ } | |  d | | } | d	 S(
   Ni
   t    s   mpf('s   ')i    t   0i   g      à?iìÿÿÿ(   t   reprR.   t   replacet   floatt   intt   lent   NotImplementedErrort   round(	   R   t   rt   st   mt   num0t   cR   t   nt   sn(    (    s3   lib/python2.7/site-packages/mpmath/tests/test_hp.pyt   last_digitsÐ   s"    $	c          C   s  d t  _ t d ƒ d d }  t |  ƒ } t | ƒ } | d k sG t ‚ t t d ƒ d ƒ } t | ƒ } | d k s{ t ‚ d t  _ t d ƒ } t | ƒ } | d	 k s® t ‚ t t d ƒ d d ƒ } t | ƒ } | d
 k sì t | ƒ ‚ t t d ƒ d d ƒ } t | ƒ } | d k s*t | ƒ ‚ t  j d 7_ d t d ƒ d }  t  j d 8_ t |  ƒ } t | ƒ } | d k sŒt | ƒ ‚ d t  _ t  j d 7_ d t d ƒ d }  t  j d 8_ t |  ƒ } t | 
ƒ } | d k søt | ƒ ‚ d t  _ d  S(   NiÐ  i
   i˜:  i   t   43804441768333470331i   t   53749808140753263288i'  t   13401856601359655561t   54020631943060007154id   t   36539088351652334666i   t   37216724048322957404t   39947338773774122415i   I äT   l                DG¨†dªrÓâÈYâ|gÄO¬s&YR5I (   R   R   R   R   RD   R   (   R   R=   t   res(    (    s3   lib/python2.7/site-packages/mpmath/tests/test_hp.pyt   test_log_hpç   s@    			c          C   sJ   d t  _ t t d ƒ d ƒ }  t |  d t  j ƒ d d k sF t ‚ d  S(   Ni   i   i
   i   l   A?x2JWšxO l      Fµx:^V (   R   R   R   R   R9   R   (   R=   (    (    s3   lib/python2.7/site-packages/mpmath/tests/test_hp.pyt   test_exp_hp  s    	(!   t   __doc__t   timet   mpmathR   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+   R3   RD   RM   RN   (    (    (    s3   lib/python2.7/site-packages/mpmath/tests/test_hp.pyt   <module>   s@   
!	1		7