Viewing File: /usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyo

ó
Bd\Rc@s¨dZdZddlZejddkrKejddkrKddlTnddlZdejfd	„ƒYZid
„Ze	dkr¤d„Z
ejd
dƒndS(s+Self-tests for (some of) Crypto.Util.numbers$Id$i˙˙˙˙Niii(t*t	MiscTestscBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„ZRS(
cCs ddlmaddladS(Ni˙˙˙˙(tnumber(tCrypto.UtilRtmath(tself((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pytsetUp'scCs˝|jttjddƒ|jttjddƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjd	dƒƒ|jdtjd
dƒƒ|jdtjddƒƒxŒtdddƒD]x}|jdtjd|ƒƒd
}xM|d|dkr´t|dd|ƒ\}}|t|ƒ}|j|d||f|d|tj|d|ƒfƒt|d|ƒ\}}|t|ƒ}|j|||f||tj||ƒfƒt|dd|ƒ\}}|t|ƒ}|j|d||f|d|tj|d|ƒfƒ|d9}qhWq=WdS(sUtil.number.ceil_shifti˙˙˙˙iiiiiiiiii	illNi‚(tassertRaisestAssertionErrorRt
ceil_shifttassertEqualtrangetdivmodtint(Rtbtntqtrtexpected((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_ceil_shift,sJ$$cCsă|jttjddƒ|jttjddƒ|jttjddƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjd	dƒƒ|jdtjd
dƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjd	dƒƒ|jdtjd
dƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjdd	ƒƒ|jdtjdd	ƒƒ|jdtjdd	ƒƒ|jdtjdd	ƒƒ|jdtjd	d	ƒƒ|jdtjd
d	ƒƒ|jdtjdd	ƒƒ|jdtjdd	ƒƒ|jdtjd
d	ƒƒ|jdtjdd	ƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjd	dƒƒ|jdtjd
dƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjd
dƒƒ|jdtjddƒƒdS(sUtil.number.ceil_divt1iii˙˙˙˙iţ˙˙˙iiý˙˙˙iiiiiii	i÷˙˙˙iü˙˙˙iř˙˙˙iů˙˙˙iú˙˙˙iű˙˙˙N(Rt	TypeErrorRtceil_divtZeroDivisionErrorR
(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt
test_ceil_div_slcCsá|jttjdƒ|jttjdƒ|jttjdƒ|jdtjdƒƒ|jdtjdƒƒ|jttjdƒ|jdtjdƒƒ|jttjdƒ|jttjd	ƒ|jttjd
ƒd}d}xs|dkrf|d|krC|j|tj|ƒd
||fƒ|d7}n|jttj|ƒ|d7}qôWxstdddƒD]_}|jttjd|dƒ|j|tjd|ƒƒ|jttjd|dƒqzWdS(sUtil.number.exact_log2t0i˙˙˙˙iiiiiiiiiisexpected=2**%d, n=%di@lNiA(RRRt
exact_log2t
ValueErrorR
R(RteR((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_exact_log2¤s,&
cCsž|jdtjddƒƒ|jttjddƒ|jdtjddƒƒ|jttjddƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jttjddƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jdtjddƒƒ|jttjddƒ|jttjddƒ|jdtjddd	tƒƒ|jttjddd	tƒd
S(sUtil.number.exact_diviiiii˙˙˙˙iţ˙˙˙iü˙˙˙it
allow_divzeroN(R
Rt	exact_divRRRtTrue(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_exact_divżs "c	CsŔ|jttjddƒx tddƒD]}x†tddƒD]u}|dkrm|jttj||ƒq?|j||ttj	t
|ƒ|ƒƒf||tj||ƒfƒq?Wq)WdS(sUtil.number.floor_divRiiö˙˙˙i
iN(RRRt	floor_divRRR
R
Rtfloortfloat(RtaR((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_floor_divÜs+cCsŠ|jttjdƒ|jttjdƒd}tj|ƒ}|j|ddƒ|j|d|d>dkdƒ|j|d|>kdƒd}tj||ƒ}|jtj|d|ƒdƒ|j|ddƒ|j|d|d>dkdƒ|j|d|>kdƒd
}tj||ƒ}|jtj|dd?|ƒdƒ|j|ddƒ|j|d|d>dkdƒ|j|d|>kdƒd	S(sUtil.number.getStrongPrimeiiiiiliiNiiii(RRRtgetStrongPrimetassertNotEqualR
tGCD(RtbitstxR((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_getStrongPrimeçs&" "$"c
Cs |jtjdƒtƒ|jtjdƒtƒ|jtjdƒtƒ|jtjdƒtƒ|jtjdƒtƒ|jtjdƒtƒ|jtjd$ƒtƒ|jtjd'ƒtƒxQd)d+d,d-d.d/d0d1d2d3d4d5fD]%}|jtjt|ƒƒtƒqóWd"S(6sUtil.number.isPrimeiý˙˙˙iţ˙˙˙iiiili˙i+iiÓi=i—i›;i5wlH
l9l^l<=leEmlÉ
Űl&”l5L(lÇ)SlSŚlďZ8lÝ5q:l?érl}ŇelŸB
sl=fló^ř;lĺ=ńwNlVlV˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙lVlV˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙lŞ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙iUi•iű#iá§idÁlu^žßlł+%!alMnÔzž]l—g‹4Đ+l›I>6lS{AˆKW
lĂbĘ\\QNlăz—Ilv3l_V„B;.((R
RtisPrimetFalseR tlong(Rt	composite((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyttest_isPrimeýs	cCs|jtjdƒdƒ|jtjdƒdƒ|jtjdƒdƒ|jtjdƒdƒ|jtjdƒdƒdS(	Niii˘ii@ş˘lEĽ)ýď8^n,š ž´n:ˆzb´|˜DELU"ęN79YÁ– ŞSžh
"ś*f8›<>kŽtkŠÂ26"zźBT6ű	íV´ĎRNc”cË\Ä˘Ő]đ]rX"Sw~oÝ Ë8I(jćOˆ3˝2ǸŇ
ii(R
Rtsize(R((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt	test_sizes
cCsKd}d}tjj||ƒ}|j||jƒ|j||jƒdS(sbTest that mpzToLongObj and longObjToMPZ (internal functions) roundtrip negative numbers correctly.lř˙˙˙ ?<\"XéX\Ą	lN(Rt	_fastmatht
rsa_constructR
RR(RRRtk((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt8test_negative_number_roundtrip_mpzToLongObj_longObjToMPZs
(t__name__t
__module__RRRRR!R&R,R1R3R7(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyR&s		3	E						cCsddlm}|tƒS(Ni˙˙˙˙(tlist_test_cases(tCrypto.SelfTest.st_commonR:R(tconfigR:((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt	get_testsst__main__cCstjtƒƒS(N(tunittestt	TestSuiteR=(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt<lambda>$stdefaultTesttsuite(t__doc__t__revision__tsystversion_infotCrypto.Util.py21compatR?tTestCaseRR=R8RCtmain(((sF/usr/lib64/python2.7/site-packages/Crypto/SelfTest/Util/test_number.pyt<module>s&
ů	
Back to Directory File Manager