%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/test/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/test/test_math.pyo

ó
Nêáac@s«ddlmZmZddlZddlZddlZddlZddlZddlZdZ	e
dƒZe
dƒZe
dƒZ
eje
jdƒjdƒd	ƒZd
df\ZZeed
dkZed
krîejdZneZejjeƒpejZejjedƒZejjedƒZd„Z dd„Z!ddd„Z"d„Z#d„Z$dej%fd„ƒYZ&d„Z'ed
kr§e'ƒndS(iÿÿÿÿ(trun_unittesttverboseNgñh㈵øä>tnantinfs-inftdoubletIEEEstest requires IEEE 754 doublesg€à7yÃACgÇ):’Ëÿ@it__main__ismath_testcases.txtscmath_testcases.txtcCs@tjdtjd|ƒƒd}|dkr<|d}n|S(sVConvert a non-NaN float x to an integer, in such a way that
    adjacent floats are converted to adjacent integers.  Then
    abs(ulps(x) - ulps(y)) gives the difference in ulps between two
    floats.

    The results from this function will only make sense on platforms
    where C doubles are represented in IEEE 754 binary64 format.

    s<qs<diii?l(tstructtunpacktpack(txtn((s*/usr/local/lib/python2.7/test/test_math.pytto_ulps$s
"icCs<t|ƒt|ƒ}t|ƒ|kr,dSdj||ƒS(s©Given non-NaN floats `expected` and `got`,
    check that they're equal to within the given number of ulps.

    Returns None on success and an error message on failure.s*error = {} ulps; permitted error = {} ulpsN(RtabstNonetformat(texpectedtgottulpst
ulps_error((s*/usr/local/lib/python2.7/test/test_math.pyt
ulps_check3s
	gV瞯â<g
cCshtj|ƒr||krdS||}t||t|ƒƒ}t|ƒ|krXdSdj||ƒS(sDetermine whether non-NaN floats a and b are equal to within a
    (small) rounding error.  The default values for rel_err and
    abs_err are chosen to be suitable for platforms where a float is
    represented by an IEEE 754 double.  They allow an error of between
    9 and 19 ulps.s error = {}; permitted error = {}N(tmathtisinfRtmaxR
R(RRtrel_errtabs_errterrortpermitted_error((s*/usr/local/lib/python2.7/test/test_math.pyt	acc_check?s
	c
csÈt|ƒ¶}x¬|D]¤}d|kr>||jdƒ }n|jƒsPqn|jdƒ\}}|jƒ\}}}|jƒ}|d}	|d}
||t|ƒt|	ƒ|
fVqWWdQXdS(sÏParse a file with test values

    -- starts a comment
    blank lines, or lines containing only a comment, are ignored
    other lines are expected to have the form
      id fn arg -> expected [flag]*

    s--s->iiN(topentindextstriptsplittfloat(tfnametfptlinetlhstrhstidtfntargt
rhs_piecestexptflags((s*/usr/local/lib/python2.7/test/test_math.pytparse_mtestfileRs	


c
csÖt|ƒÄ}xº|D]²}|jdƒs|jƒr>qn|jdƒ\}}|jƒ\}}}}|jƒ}	|	d|	d}
}|	d}||t|ƒt|ƒt|
ƒt|ƒ|fVqWWdQXdS(s“Parse a file with test values

    Empty lines or lines starting with -- are ignored
    yields id, fn, arg_real, arg_imag, exp_real, exp_imag
    s--s->iiiN(Rt
startswithRR R!(
R"R#R$R%R&R'R(targ_realtarg_imagR*texp_realtexp_imagR,((s*/usr/local/lib/python2.7/test/test_math.pytparse_testfileks

t	MathTestscBsÊeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zed
„ƒZ
d„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zeejedƒd„ƒƒZd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d „Z%d!„Z&d"„Z'd#„Z(d$„Z)d%„Z*ej+e,d&ƒd'„ƒZ-ed(„ƒZ.ej+e/j0d)ƒj1d*ƒd+ƒd,„ƒZ2RS(-cCs7t||ƒtkr3|jd|||fƒndS(Ns%s returned %r, expected %r(R
tepstfail(tselftnametvalueR((s*/usr/local/lib/python2.7/test/test_math.pytftest…s	cCs0|jdtjdƒ|jdtjdƒdS(NtpigJØMû!	@tegB‡
¿@(R:RR;R<(R7((s*/usr/local/lib/python2.7/test/test_math.pyt
testConstantsŽscCsÀ|jttjƒ|jdtjdƒtjƒ|jdtjdƒtjdƒ|jdtjdƒdƒ|jttjtƒ|jttjtƒ|j	tj
tjtƒƒƒdS(Nsacos(-1)iÿÿÿÿsacos(0)iisacos(1)i(tassertRaisest	TypeErrorRtacosR:R;t
ValueErrortINFtNINFt
assertTruetisnantNAN(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestAcos’s#cCsÉ|jttjƒ|jdtjdƒdƒ|jdtjdƒdƒ|jttjdƒ|jttjdƒ|jtjtƒtƒ|jttjtƒ|j	tj
tjtƒƒƒdS(Nsacosh(1)iisacosh(2)ig5˜qBõ?iÿÿÿÿ(R>R?RtacoshR:RAtassertEqualRBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testAcosh›scCsÅ|jttjƒ|jdtjdƒtjdƒ|jdtjdƒdƒ|jdtjdƒtjdƒ|jttjtƒ|jttjtƒ|j	tj
tjtƒƒƒdS(Nsasin(-1)iÿÿÿÿisasin(0)isasin(1)i(R>R?RtasinR:R;RARBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestAsin¥s$#cCs¼|jttjƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒ|jtjtƒtƒ|jtjtƒtƒ|jtj	tjt
ƒƒƒdS(	Nsasinh(0)isasinh(1)ig'Ôya64ì?s	asinh(-1)iÿÿÿÿg'Ôya64ì¿(R>R?RtasinhR:RIRBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testAsinh®scCsà|jttjƒ|jdtjdƒtjdƒ|jdtjdƒdƒ|jdtjdƒtjdƒ|jdtjtƒtjd	ƒ|jd
tjtƒtjd	ƒ|jtj	tjt
ƒƒƒdS(Nsatan(-1)iÿÿÿÿisatan(0)isatan(1)is	atan(inf)is
atan(-inf)(R>R?RtatanR:R;RBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestAtan·s$##$cCsâ|jttjƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒ|jttjd	ƒ|jttjd
ƒ|jttjtƒ|jttjtƒ|j	tj
tjtƒƒƒdS(Nsatanh(0)is
atanh(0.5)gà?g­zê“á?satanh(-0.5)gà¿g­zê“á¿iiÿÿÿÿ(R>R?RROR:tatanhRARBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testAtanhÀscCsî|jttjƒ|jdtjddƒtjdƒ|jdtjddƒtjdƒ|jdtjddƒdƒ|jd	tjddƒtjdƒ|jd
tjddƒtjdƒ|jdtjdtƒtjƒ|jd
tjddƒtjƒ|jdtjddƒtjƒ|jtjddƒdƒ|jtjddƒdƒ|jtjdtƒdƒ|j	tj
tjdtƒƒƒ|jdtjdtƒtjƒ|jdtjddƒtjƒ|jdtjddƒtjƒ|jtjddƒdƒ|jtjddƒdƒ|jtjdtƒdƒ|j	tj
tjdtƒƒƒ|jdtjttƒtjddƒ|jdtjtdƒtjdƒ|jdtjtdƒtjdƒ|jdtjtdƒtjdƒ|jdtjtdƒtjdƒ|jdtjttƒtjdƒ|j	tj
tjttƒƒƒ|jdtjttƒtjddƒ|jdtjtdƒtjdƒ|jdtjtdƒtjdƒ|jdtjtdƒtjdƒ|jd tjtdƒtjdƒ|jd!tjttƒtjdƒ|j	tj
tjttƒƒƒ|jd"tjdtƒtjƒ|jd#tjddƒtjdƒ|jd$tjddƒtjdƒ|jtjdtƒdƒ|j	tj
tjdtƒƒƒ|jd%tjdtƒtjƒ|jd&tjddƒtjdƒ|jd'tjddƒtjdƒ|jtjdtƒdƒ|j	tj
tjdtƒƒƒ|j	tj
tjttƒƒƒ|j	tj
tjtdƒƒƒ|j	tj
tjtdƒƒƒ|j	tj
tjtdƒƒƒ|j	tj
tjtdƒƒƒ|j	tj
tjttƒƒƒ|j	tj
tjttƒƒƒdS((Nsatan2(-1, 0)iÿÿÿÿiisatan2(-1, 1)iisatan2(0, 1)satan2(1, 1)satan2(1, 0)satan2(0., -inf)gsatan2(0., -2.3)gffffffÀsatan2(0., -0.)g€gffffff@satan2(-0., -inf)satan2(-0., -2.3)satan2(-0., -0.)satan2(inf, -inf)isatan2(inf, -2.3)satan2(inf, -0.)satan2(inf, 0.)satan2(inf, 2.3)satan2(inf, inf)satan2(-inf, -inf)satan2(-inf, -2.3)satan2(-inf, -0.)satan2(-inf, 0.)satan2(-inf, 2.3)satan2(-inf, inf)satan2(2.3, -inf)satan2(2.3, -0.)satan2(2.3, 0.)satan2(-2.3, -inf)satan2(-2.3, -0.)satan2(-2.3, 0.)(R>R?Rtatan2R:R;RCRIRBRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testAtan2Ësf''&&""""###"*&&&&&"+'''''""&&"#''"""""""cCs|jttjƒ|jtttjdƒƒƒ|jtttjdƒƒƒ|jtttjdƒƒƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒd	ƒ|jd
tjdƒdƒ|jd
tjdƒdƒ|jdtjdƒdƒ|jtjtƒtƒ|jtjt	ƒt	ƒ|j
tjtjtƒƒƒdt
fd„ƒY}dt
fd„ƒY}|jdtj|ƒƒdƒ|jttj|ƒƒ|ƒ}d„|_|jttj|ƒ|jttj|dƒdS(Nilgð?s	ceil(0.5)gà?s	ceil(1.0)s	ceil(1.5)gø?is
ceil(-0.5)gà¿is
ceil(-1.0)gð¿iÿÿÿÿs
ceil(-1.5)gø¿tTestCeilcBseZd„ZRS(cSsdS(Ngfffff¦D@((R7((s*/usr/local/lib/python2.7/test/test_math.pyt	__float__s(t__name__t
__module__RV(((s*/usr/local/lib/python2.7/test/test_math.pyRUst
TestNoCeilcBseZRS((RWRX(((s*/usr/local/lib/python2.7/test/test_math.pyRYssceil(TestCeil())i*cWs|S(N((targs((s*/usr/local/lib/python2.7/test/test_math.pyt<lambda>!t(R>R?RtceilRIR!ttypeR:RBRCRDRERFtobjectt__ceil__(R7RURYtt((s*/usr/local/lib/python2.7/test/test_math.pyttestCeils*	cCs¿|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjddƒdƒ|jtjd	d
ƒdƒ|jttjƒ|jtjddƒdƒ|jtjdd
ƒdƒ|jtjtdƒtƒ|jtjtd
ƒtƒ|jtjtdƒtƒ|jtjtd
ƒtƒ|jtjdtƒdƒ|jtjdtƒdƒ|jtjttƒtƒ|jtjttƒtƒ|jtjttƒtƒ|jtjttƒtƒ|jtjtjt	dƒƒƒ|jtjtjt	tƒƒƒ|jtjtjt	tƒƒƒ|jtjtjt	t	ƒƒƒ|jtj
tjtt	ƒƒƒ|jttjdt	ƒƒdƒdS(
Nii*gð?giÖÿÿÿgð¿ig@g@g€gÀg@(RIRtcopysignR>R?RBRCRDRERFRR
(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestCopysign%s0"""""cCs:|jttjƒ|jdtjtjdƒdƒ|jdtjdƒdƒ|jdtjtjdƒdƒ|jdtjtjƒdƒyB|jtjtjtƒƒƒ|jtjtjt	ƒƒƒWn=t
k
r|jt
tjtƒ|jt
tjt	ƒnX|jtjtjtƒƒƒdS(	Ns
cos(-pi/2)iiscos(0)is	cos(pi/2)scos(pi)iÿÿÿÿ(R>R?RtcosR:R;RDRERBRCRARF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestCosGs$##
cCsµ|jttjƒ|jdtjdƒdƒ|jdtjdƒdtjdƒddƒ|jtjtƒtƒ|jtjtƒtƒ|jtj	tjt
ƒƒƒdS(Nscosh(0)iiscosh(2)-2*cosh(1)**2iiÿÿÿÿ(R>R?RtcoshR:RIRBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestCoshUs1cCs}|jttjƒ|jdtjtjƒdƒ|jdtjtjdƒdƒ|jdtjtjdƒdƒdS(	Nsdegrees(pi)g€f@s
degrees(pi/2)ig€V@sdegrees(-pi/4)ig€FÀ(R>R?RtdegreesR:R;(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestDegrees]s#cCsÆ|jttjƒ|jdtjdƒdtjƒ|jdtjdƒdƒ|jdtjdƒtjƒ|jtjtƒtƒ|jtjtƒdƒ|j	tj
tjtƒƒƒdS(Nsexp(-1)iÿÿÿÿisexp(0)isexp(1)g(R>R?RR+R:R<RIRBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestExpcs#cCsk|jttjƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒdS(Nsfabs(-1)iÿÿÿÿisfabs(0)isfabs(1)(R>R?RtfabsR:(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestFabslsc	CsÍd„}tdƒdddg}tj|ƒxh|D]`}xWtttfD]F}|jtj||ƒƒ||ƒ|||ƒtj|ƒfƒqLWq6W|j	t
tjdƒ|j	t
tjtjƒdS(NcSs8d}x+tdt|ƒdƒD]}||9}q W|S(Ni(trangetint(Rtresultti((s*/usr/local/lib/python2.7/test/test_math.pytfactss i
i2idiôiÿÿÿÿ(RntrandomtshuffleRotlongR!RIRt	factorialR>RAR;(R7RrtvaluesR
tcast((s*/usr/local/lib/python2.7/test/test_math.pyt
testFactorialrs	

HcCsM|jttjƒ|jtttjdƒƒƒ|jtttjdƒƒƒ|jtttjdƒƒƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjd	ƒdƒ|jd
tjdƒdƒ|jd
tjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒ|jtjt	ƒt	ƒ|jtjt
ƒt
ƒ|jtjtjt
ƒƒƒdtfd„ƒY}dtfd„ƒY}|jdtj|ƒƒdƒ|jttj|ƒƒ|ƒ}d„|_|jttj|ƒ|jttj|dƒdS(Nilgð?s
floor(0.5)gà?is
floor(1.0)s
floor(1.5)gø?sfloor(-0.5)gà¿iÿÿÿÿsfloor(-1.0)gð¿sfloor(-1.5)gø¿iþÿÿÿsfloor(1.23e167)g‚àNݯ bsfloor(-1.23e167)g‚àNݯ ât	TestFloorcBseZd„ZRS(cSsdS(Ngfffff&E@((R7((s*/usr/local/lib/python2.7/test/test_math.pyRV•s(RWRXRV(((s*/usr/local/lib/python2.7/test/test_math.pyRz”stTestNoFloorcBseZRS((RWRX(((s*/usr/local/lib/python2.7/test/test_math.pyR{—ssfloor(TestFloor())i*cWs|S(N((RZ((s*/usr/local/lib/python2.7/test/test_math.pyR[R\(R>R?RtfloorRIR!R^R:R]RBRCRDRERFR_t	__floor__(R7RzR{Ra((s*/usr/local/lib/python2.7/test/test_math.pyt	testFloor€s.	cCsC|jttjƒ|jdtjddƒdƒ|jdtjddƒdƒ|jdtjddƒdƒ|jd	tjd
dƒdƒ|jdtjd
dƒdƒ|jdtjd
dƒd
ƒ|jtjtjtdƒƒƒ|jtjtjdtƒƒƒ|jtjtjttƒƒƒ|jttjddƒ|jttjt	dƒ|jttjt
dƒ|jttjt	dƒ|jtjdt	ƒdƒ|jtjdt	ƒdƒ|jtjdt
ƒdƒ|jtjdt
ƒdƒ|jtjddƒdƒ|jtjdt
ƒdƒdS(Ns
fmod(10,1)i
iisfmod(10,0.5)gà?sfmod(10,1.5)gø?sfmod(-10,1)iöÿÿÿs
fmod(-10,0.5)s
fmod(-10,1.5)iÿÿÿÿgð?gg@gÀ(R>R?RtfmodR:RDRERFRARBRCRI(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestFmod¡s("""csçˆjttjƒ‡fd†}|dtjdƒdƒ|dtjdƒd
ƒ|dtjdƒdƒ|d
tjdƒdƒˆjtjtƒdtƒˆjtjtƒdtƒˆjtjtjt	ƒdƒƒdS(Ncsh||\}}\}}t||ƒtks;||krdˆjd|||f||ffƒndS(Ns%s returned %r, expected %r(R
R5R6(R8RpRtmantR+temantteexp(R7(s*/usr/local/lib/python2.7/test/test_math.pyt	testfrexpºs"	s	frexp(-1)iÿÿÿÿgà¿isfrexp(0)isfrexp(1)gà?sfrexp(2)i(gà¿i(ii(gà?i(gà?i(
R>R?RtfrexpRIRBRCRDRERF(R7R„((R7s*/usr/local/lib/python2.7/test/test_math.pyt	testFrexp·ss2fsum is not exact on machines with double roundingcsRddlm}|j‰|jˆ‰‡‡fd†}gdfdgdfddddd	d
dgdfd1dd3gd5fd6dd7gd9fd;dd<gd>fd@ddAgdCfgtddƒD]}d|^qÃtjdƒfgtddƒD]}d
||^qõtjdƒfgtdƒD]}d|dd|^q(dEgd
fdddgdfdFddGdIddJgdfgtd d!d"ƒD](}d|d|d#d|d$^q—dLgtjd&ƒfg
}x›t|ƒD]\}\}}ytj	|ƒ}WnUt
k
r=|jd'|||fƒn+tk
rg|jd(|||fƒnX|j
||ƒqëWdd)lm}	m}
m}x³tdƒD]¥}d*dd+dd,d-gd.}d/}
xEtd0ƒD]7}|
d/|	ƒƒd*|
}|
|7}
|j|ƒqÚW||ƒ||ƒ}
|j
||ƒtj	|ƒƒq¥WdS(MNiÿÿÿÿ(t
float_infocs"d\}}x|D]y}tj|ƒ\}}ttj|ˆƒƒ|ˆ}}||krt|||K}|}n|||K}||7}qWtttt|ƒƒƒdˆˆ|ƒ}|dkrd|d>}|d|t||@oþ|d|d@ƒ}||7}ntj||ƒS(sÓFull precision summation.  Compute sum(iterable) without any
            intermediate accumulation of error.  Based on the 'lsum' function
            at http://code.activestate.com/recipes/393090/

            iiii(ii(	RR…RotldexpRtlentbinR
tbool(titerablettmantttexpR
RR+ttailth(tetinytmant_dig(s*/usr/local/lib/python2.7/test/test_math.pytmsumÜs
#	-.
gg}Ô%­I²Tgð?g}Ô%­I²Ôg0Žä.ÿ++gšd~ÅQJgð¿gšd~ÅQÊg@i5gà¿iÊÿÿÿiœÿÿÿg$@g(@g@gà?g@iiés0x1.df11f45f4e61ap+2s-0x1.62a2af1bd3624p-1ièg333333û?g€à7yÃACg¼‰Ø—²Òœ<g€à7yÃACiËÿÿÿiÎûÿÿiÌii2i4iþs0x1.5555555555555p+970sDtest %d failed: got OverflowError, expected %r for math.fsum(%.100r)sAtest %d failed: got ValueError, expected %r for math.fsum(%.100r)(RstgaussRtiiùÿÿÿghŠ$.5ú»g#B’¡œ÷;i
iiÈg@Cg<g¼g@Cgÿÿÿÿÿÿ?Cg@Cg°9g@Cg@Cg@Cg@Cg°9g@Cg@Cg@Cgüÿÿÿÿÿ?Cg<g@Cgýÿÿÿÿÿ?CgàïþáÒ-ÇogàïþáÒ-Çïgÿà7yÃACg <gÿà7yÃACgÿà7yÃAÃg <gÐgÐÿ(tsysR‡R’tmin_expRnR!tfromhext	enumerateRtfsumt
OverflowErrorR6RARIRsR”Rttxrangetappend(R7R‡R“RRqttest_valuestvalsRtactualRsR”Rttjtstv((R‘R’s*/usr/local/lib/python2.7/test/test_math.pyttestFsumÉsT	
	#'9>
	
	

cCs	|jttjƒ|jdtjddƒdƒ|jdtjddƒdƒ|jtjttƒtƒ|jtjttƒtƒ|jtjttƒtƒ|jtjttƒtƒ|j	tj
tjdtƒƒƒ|j	tj
tjtdƒƒƒdS(	Ns
hypot(0,0)is
hypot(3,4)iiigð?gÀ(R>R?RthypotR:RIRFRBRCRDRE(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testHypot$s"cCs|jttjƒ|jdtjddƒdƒ|jdtjddƒdƒ|jdtjddƒdƒ|jd	tjddƒd
ƒ|jttjddƒ|jttjd
dƒ|jtjddƒdƒ|jtjd
dƒdƒ|jtjtdƒtƒ|jtjtdƒtƒ|j	tj
tjtdƒƒƒxµddddddgD]›}|jtjt|ƒtƒ|jtjt|ƒtƒ|jtjd|ƒdƒ|jtjd
|ƒdƒ|jtjd|ƒdƒ|jtjd|ƒdƒ|j	tj
tjt|ƒƒƒ|jttjd|ƒ|jttjd
|ƒ|jtjd|ƒdƒ|jtjd|ƒdƒ|jtjt|ƒtƒ|jtjt|ƒtƒ|j	tj
tjt|ƒƒƒqlWdS(Ns
ldexp(0,1)iis
ldexp(1,1)isldexp(1,-1)iÿÿÿÿgà?sldexp(-1,1)iþÿÿÿgð?i@Bgð¿iÀ½ðÿgg€ii+ÿÿÿi
il
ii(i †l IäTld(	l Fµx:^Vl	«O»z—×pøc(R>R?RRˆR:RšRIRBRCRDRERF(R7R((s*/usr/local/lib/python2.7/test/test_math.pyt	testLdexp/s6"#cCsb|jttjƒ|jdtjdtjƒdƒ|jdtjdƒdƒ|jdtjtjƒdƒ|jdtjdd	ƒd
ƒ|jdtjddƒd
ƒ|jdtjddƒd	ƒ|jtjtƒtƒ|jttjt	ƒ|j
tjtjtƒƒƒx?t
ddƒD].}|jtj|ƒtjt|ƒƒƒq,WdS(Nslog(1/e)iiÿÿÿÿslog(1)islog(e)s	log(32,2)i iislog(10**40, 10)i
i(slog(10**40, 10**20)iièl	«O»z—×pøcl	«O»z—×pøcl Fµx:^V(R>R?RtlogR:R<RIRBRARCRDRERFRnRu(R7R((s*/usr/local/lib/python2.7/test/test_math.pyttestLogOs#cCs7|jttjƒ|jdtjdtjdƒdƒ|jdtjdƒdƒ|jdtjtjdƒdƒ|jdtjdƒtjdƒƒ|jtjtƒtƒ|jt	tjt
ƒ|jtjtjt
ƒƒƒd}|jtj|ƒd
ƒ|jtj|ƒtjt|ƒƒƒdS(Ns
log1p(1/e -1)iiÿÿÿÿslog1p(0)is
log1p(e-1)slog1p(1)iiZgxá61O@l(R>R?Rtlog1pR:R<R§RIRBRARCRDRERFtassertAlmostEqualR!(R7R((s*/usr/local/lib/python2.7/test/test_math.pyt	testLog1p^s'#%cCsû|jttjƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒ|jtjtƒtƒ|jttjt	ƒ|j
tjtjtƒƒƒx?t
dd	ƒD].}|jtj|ƒtjt|ƒƒƒqÅWdS(
Ns
log10(0.1)gš™™™™™¹?iÿÿÿÿslog10(1)iis	log10(10)i
iè(R>R?Rtlog10R:RIR§RBRARCRDRERFRnRu(R7R((s*/usr/local/lib/python2.7/test/test_math.pyt	testLog10kscsÙˆjttjƒ‡fd†}|dtjdƒdƒ|dtjdƒdƒˆjtjtƒd
tfƒˆjtjtƒdtfƒtjtƒ}ˆjtj	|dƒƒˆjtj	|d
ƒƒdS(Ncsl||\}}\}}t||ƒtks?t||ƒrhˆjd|||f||ffƒndS(Ns%s returned %r, expected %r(R
R5R6(R8RpRtv1tv2te1te2(R7(s*/usr/local/lib/python2.7/test/test_math.pyttestmodfzs&	s	modf(1.5)gø?gà?gð?s
modf(-1.5)gø¿gà¿gð¿gg€ii(gà?gð?(gà¿gð¿(
R>R?RtmodfRIRBRCRFRDRE(R7R²tmodf_nan((R7s*/usr/local/lib/python2.7/test/test_math.pyttestModfwscCs|jttjƒ|jdtjddƒdƒ|jdtjddƒdƒ|jdtjddƒdƒ|jdtjddƒd	ƒ|jtjtdƒtƒ|jtjtdƒtƒ|jtjdtƒd
ƒ|jtjdtƒd
ƒ|jtj	tjt
dƒƒƒ|jtj	tjdt
ƒƒƒ|jtj	tjdt
ƒƒƒ|jtjdt
ƒdƒ|jtjdtƒdƒ|jtjddƒdƒ|jtjdd
ƒdƒ|jtjddƒdƒ|jtjddƒd
ƒ|jtjddƒd
ƒ|jttjddƒ|jttjddƒ|jttjddƒ|jttjdtƒ|jtj	tjdt
ƒƒƒ|jtjttƒtƒ|jtjtdƒtƒ|jtjtd
ƒtƒ|jtjtdƒtƒ|jtjtdƒd
ƒ|jtjtdƒd
ƒ|jtjtdƒdƒ|jtjtdƒdƒ|jtjtdƒdƒ|jtjttƒdƒ|jtj	tjtt
ƒƒƒ|jtjdtƒdƒ|jtjddƒdƒ|jtjdd
ƒdƒ|jtjddƒdƒ|jtjddƒd
ƒ|jtjddƒd
ƒ|jttjddƒ|jttjddƒ|jttjddƒ|jttjdtƒ|jtj	tjdt
ƒƒƒ|jtjttƒtƒ|jtjtdƒtƒ|jtjtd
ƒtƒ|jtjtdƒtƒ|jtjtdƒd
ƒ|jtjtdƒd
ƒ|jtjtdƒdƒ|jtjtdƒdƒ|jtjtdƒdƒ|jtjttƒdƒ|jtj	tjtt
ƒƒƒ|jtjdtƒd
ƒ|jtjddƒdƒ|jttjdd
ƒ|jtjddƒd
ƒ|jtjddƒd
ƒ|jtjddƒd
ƒ|jtjddƒd
ƒ|jttjddƒ|jtjddƒdƒ|jtjdtƒd
ƒ|jtj	tjdt
ƒƒƒ|jtjd
tƒd
ƒ|jtjd
dƒd
ƒ|jtjd
d
ƒd
ƒ|jtjd
dƒd
ƒ|jtjd
dƒd
ƒ|jtjd
dƒd
ƒ|jtjd
dƒd
ƒ|jtjd
dƒd
ƒ|jtjd
dƒd
ƒ|jtjd
tƒd
ƒ|jtjd
t
ƒd
ƒ|jtjd
dƒd
ƒ|jtjddƒd
ƒ|jtjt
dƒd
ƒ|jtjd
dƒd
ƒ|jtjddƒd
ƒ|jtjt
dƒd
ƒ|jttjdd
ƒ|jttjddƒ|jtjdtƒdƒ|jtjdtƒdƒ|jtjdtƒtƒ|jtjdtƒtƒ|jtjdtƒtƒ|jtjdtƒtƒ|jtjdtƒdƒ|jtjdtƒdƒ|jtjdtƒtƒ|jtjdtƒtƒ|jtjdtƒdƒ|jtjdtƒdƒ|jtjdtƒdƒ|jtjdtƒdƒ|jtjdtƒtƒ|jtjdtƒtƒ|jdtjddƒdƒ|jd tjddƒd!ƒ|jd"tjdd
ƒdƒ|jd#tjddƒd
ƒ|jd$tjddƒd
ƒ|jd%tjddƒd&ƒ|jd'tjddƒd(ƒ|jd)tjddƒd*ƒ|jttjdd&ƒ|jttjdd	ƒdS(+Nspow(0,1)iispow(1,0)spow(2,1)is	pow(2,-1)iÿÿÿÿgà?gð?gg@gffffff@g@g€gÀgffffffÀgÀgð¿g.ÀgÍÌÌÌÌÌÀgffffffþ?gš™™™™™ñ?gÍÌÌÌÌÌì?gš™™™™™¹?gš™™™™™¹¿gÍÌÌÌÌÌì¿gš™™™™™ñ¿gffffffþ¿s	(-2.)**3.g Às	(-2.)**2.g@s	(-2.)**1.s	(-2.)**0.s
(-2.)**-0.s
(-2.)**-1.gà¿s
(-2.)**-2.gÐ?s
(-2.)**-3.gÀ¿(R>R?RtpowR:RIRBRCRDRERFRA(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestPowŠsâ""""""""cCs}|jttjƒ|jdtjdƒtjƒ|jdtjdƒtjdƒ|jdtjdƒtjdƒdS(	Nsradians(180)i´sradians(90)iZisradians(-45)iÓÿÿÿi(R>R?RtradiansR:R;(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestRadianss#cCs|jttjƒ|jdtjdƒdƒ|jdtjtjdƒdƒ|jdtjtjdƒdƒyB|jtjtjtƒƒƒ|jtjtjt	ƒƒƒWn=t
k
r÷|jt
tjtƒ|jt
tjt	ƒnX|jtjtjtƒƒƒdS(Nssin(0)is	sin(pi/2)iis
sin(-pi/2)iÿÿÿÿ(R>R?RtsinR:R;RDRERBRCRARF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestSin%s#$#
cCsÞ|jttjƒ|jdtjdƒdƒ|jdtjdƒdtjdƒddƒ|jdtjdƒtjdƒdƒ|jtjtƒtƒ|jtjtƒtƒ|j	tj
tjtƒƒƒdS(Nssinh(0)issinh(1)**2-cosh(1)**2iiiÿÿÿÿssinh(1)+sinh(-1)(R>R?RtsinhR:RgRIRBRCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestSinh2s1)cCs¹|jttjƒ|jdtjdƒdƒ|jdtjdƒdƒ|jdtjdƒdƒ|jtjtƒtƒ|jttjtƒ|j	tj
tjtƒƒƒdS(Nssqrt(0)issqrt(1)issqrt(4)ii(R>R?RtsqrtR:RIRBRARCRDRERF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestSqrt;scCs|jttjƒ|jdtjdƒdƒ|jdtjtjdƒdƒ|jdtjtjdƒdƒyB|jtjtjtƒƒƒ|jtjtjt	ƒƒƒWn3|jt
tjtƒ|jt
tjt	ƒnX|jtjtjtƒƒƒdS(Nstan(0)is	tan(pi/4)iis
tan(-pi/4)iÿÿÿÿ(R>R?RttanR:R;RDRERBRCRARF(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestTanDs#$#cCs|jttjƒ|jdtjdƒdƒ|jdtjdƒtjdƒdƒ|jdtjtƒdƒ|jdtjtƒdƒ|jtjtjt	ƒƒƒt
jdƒjd	ƒr|j
tjd
ƒd
ƒ|j
tjdtjd
ƒƒtjdd
ƒƒndS(Nstanh(0)istanh(1)+tanh(-1)iiÿÿÿÿs	tanh(inf)s
tanh(-inf)RRg€gð?(R>R?RttanhR:RBRCRDRERFR!t
__getformat__R.RIRc(R7((s*/usr/local/lib/python2.7/test/test_math.pyttestTanhQs)cCs|jtjdƒdƒ|jtjdƒdƒ|jttjdƒƒtƒ|jttjdƒƒtƒ|jtjdƒdƒ|jtjdƒdƒ|jtjdƒdƒ|jtjdƒdƒ|jtjdƒdƒ|jtjd	ƒd
ƒdtfd„ƒY}d
tfd„ƒY}|jtj|ƒƒdƒ|jttjƒ|jttjddƒ|jttftj|ƒƒdS(Niiÿÿÿÿgø?gø¿gõ…óþÿÿ?gõ…óþÿÿ¿gé!çýÿï¿ig-²ï?YÀiœÿÿÿt	TestTrunccBseZd„ZRS(cSsdS(Ni((R7((s*/usr/local/lib/python2.7/test/test_math.pyt	__trunc__ks(RWRXRÆ(((s*/usr/local/lib/python2.7/test/test_math.pyRÅjstTestNoTrunccBseZRS((RWRX(((s*/usr/local/lib/python2.7/test/test_math.pyRÇnsii(	RIRttruncR^RoR_R>R?tAttributeError(R7RÅRÇ((s*/usr/local/lib/python2.7/test/test_math.pyt
test_trunc^s"cCsˆ|jtjtdƒƒƒ|jtjtdƒdƒƒ|jtjtdƒƒƒ|jtjdƒƒ|jtjdƒƒdS(NRRggð?(RDRRER!tassertFalse(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testIsnanxs
 cCs°|jtjtdƒƒƒ|jtjtdƒƒƒ|jtjdƒƒ|jtjdƒƒ|jtjtdƒƒƒ|jtjdƒƒ|jtjdƒƒdS(NRs-infgðgðÿRggð?(RDRRR!RË(R7((s*/usr/local/lib/python2.7/test/test_math.pyt	testIsinfssrequires verbose modecCs²ytjdƒ}Wn|jdƒnX|dkrF|jdƒnytjdƒ}Wntk
rlnX|jdƒytjdƒ}Wntk
r nX|jdƒdS(	Ni6eÄs6underflowing exp() should not have raised an exceptionis)underflowing exp() should have returned 0iÊš;s.overflowing exp() didn't trigger OverflowErrorgð¿s sqrt(-1) didn't raise ValueError(RR+R6RšR¾RA(R7R
((s*/usr/local/lib/python2.7/test/test_math.pyttest_exceptionss 


cCsx
ttƒD]ü\}}}}}}}|dks
|dks
|rLq
n|dkr^q
ntt|ƒ}y||ƒ}	Wnitk
r´dd|||f}
|j|
ƒn5tk
rèdd|||f}
|j|
ƒnX|jd|||f|	|ƒq
WdS(	NgtrecttpolarsUnexpected ValueError in stest %s:%s(%r)
sUnexpected OverflowError in s	%s:%s(%r)(RÏRÐ(R3t	test_filetgetattrRRAR6RšR:(R7R'R(tartaiterteiR,tfuncRptmessage((s*/usr/local/lib/python2.7/test/test_math.pyt
test_testfile­s"(

RRstest requires IEEE 754 doublesc
Cs>d}d}g}xttƒD]ô\}}}}}tt|ƒ}	d|ks[d|krdd}nd|kryd}ny|	|ƒ}
Wn-tk
r¢d}
ntk
r¸d}
nXd}t|
tƒr–t|tƒr–tj	|ƒrtj	|
ƒrqntj	|ƒr–tj	|
ƒr–|dkrKt
||
d	d
dd
ƒ}n3|dkrlt||
d
ƒ}nt||
dƒ}|dkr“qq“q–nt|
tƒrÉt|tƒrÉ|
|krÉqqÉn|j
|||||
ƒ}|dk	r|dj
|ƒ7}n|j|ƒqW|r:|jddj|ƒƒndS(Nis${}:{}({!r}): expected {!r}, got {!r}tinvalidsdivide-by-zeroRAtoverflowRštlgammaRg›+¡†›„ö<RterfciÐs ({})sFailures in test_mtestfile:
  s
  (R-tmath_testcasesRÒRRARšRt
isinstanceR!RERRtstrRRœR6tjoin(
R7t
ALLOWED_ERRORtfail_fmttfailuresR'R(R)RR,R×Rtaccuracy_failuretfail_msg((s*/usr/local/lib/python2.7/test/test_math.pyttest_mtestfileÄsN"		
	

 		(3RWRXR:R=RGRJRLRNRPRRRTRbtrequires_IEEE_754RdRfRhRjRkRmRyR~R€R†tunittesttskipIftHAVE_DOUBLE_ROUNDINGR£R¥R¦R¨R«R­RµR·R¹R»R½R¿RÁRÄRÊRÌRÍt
skipUnlessRRÎRÙR!RÃR.Rç(((s*/usr/local/lib/python2.7/test/test_math.pyR4ƒsV						
								=	"								!			Y		 		
			•		
					
	
			 cCsSddlm}tjƒ}|jtjtƒƒ|j|dƒƒt|ƒdS(Niÿÿÿÿ(tDocFileSuitesieee754.txt(tdoctestRíRét	TestSuitetaddTestt	makeSuiteR4R(Rítsuite((s*/usr/local/lib/python2.7/test/test_math.pyt	test_mains
((ttest.test_supportRRRéRtosR•RsRR5R!RFRBRCRìRÃR.RèR
tyRëRWtargvtfilet__file__tpathtdirnametcurdirttest_dirRáRÞRÑRRRR-R3tTestCaseR4Ró(((s*/usr/local/lib/python2.7/test/test_math.pyt<module>sB				ÿÿÿƒ	

Zerion Mini Shell 1.0