Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyc


T:Nc@sdZdZddlZejddkrKejddkrKddlTnddlZdejfd	YZid
Ze	dkrdZ
ejd
dndS(s+Self-tests for (some of) Crypto.Util.numbers$Id$iNiii(t*t	MiscTestscBsPeZdZdZdZdZdZdZdZdZ	RS(cCs ddlmaddladS(Ni(tnumber(tCrypto.UtilRtmath(tself((sD/usr/lib/python2.7/dist-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|jdtjddxtdddD]x}|jdtjd|d
}xM|d|dkrt|dd|\}}|t|}|j|d||f|d|tj|d|ft|d|\}}|t|}|j|||f||tj||ft|dd|\}}|t|}|j|d||f|d|tj|d|f|d9}qhWq=WdS(sUtil.number.ceil_shiftiiiiiiiiiii	illNi(tassertRaisestAssertionErrorRt
ceil_shifttassertEqualtrangetdivmodtint(Rtbtntqtrtexpected((sD/usr/lib/python2.7/dist-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|jdtjdddS(sUtil.number.ceil_divt1iiiiiiiiiiiii	iiiiiiN(Rt	TypeErrorRtceil_divtZeroDivisionErrorR
(R((sD/usr/lib/python2.7/dist-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}qWxstdddD]_}|jttjd|d|j|tjd||jttjd|dqzWdS(sUtil.number.exact_log2t0iiiiiiiiiiisexpected=2**%d, n=%di@lNiA(RRRt
exact_log2t
ValueErrorR
R(RteR((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyttest_exact_log2s,&
cCs|jdtjdd|jttjdd|jdtjdd|jttjdd|jdtjdd|jdtjdd|jdtjdd|jttjdd|jdtjdd|jdtjdd|jdtjdd|jdtjdd|jttjdd|jttjdd|jdtjddd	t|jttjddd	td
S(sUtil.number.exact_diviiiiiiiit
allow_divzeroN(R
Rt	exact_divRRRtTrue(R((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyttest_exact_divs "c	Cs|jttjddxtddD]}xtddD]u}|dkrm|jttj||q?|j||ttj	t
||f||tj||fq?Wq)WdS(sUtil.number.floor_divRiii
iN(RRRt	floor_divRRR
R
Rtfloortfloat(RtaR((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyttest_floor_divs+cCs|jttjd|jttjdd}tj|}|j|dd|j|d|d>dkd|j|d|>kdd}tj||}|jtj|d|d|j|dd|j|d|d>dkd|j|d|>kdd
}tj||}|jtj|dd?|d|j|dd|j|d|d>dkd|j|d|>kdd	S(sUtil.number.getStrongPrimeiiiiiliiNiiii(RRRtgetStrongPrimetassertNotEqualR
tGCD(RtbitstxR((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyttest_getStrongPrimes&" "$"c
Cs|jtjdt|jtjdt|jtjdt|jtjd"txQd$d&d'd(d)d*d+d,d-d.d/d0fD]%}|jtjt|tqWd S(1sUtil.number.isPrimeiiiliii+iii=ii;i5wlH
l9l^l<=leEml
l&l5L(l)SlSlZ8l5q:l?rl}elB
sl=fl^;l=wNlVlViUii#iidlu^l+%!alMnz]lg4+lI>6lS{AKW
lb\\QNlzIlv3l_VB;.((R
RtisPrimeR tFalsetlong(Rt	composite((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyttest_isPrimes	(
t__name__t
__module__RRRRR!R&R,R1(((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyR&s		3	E				cCsddlm}|tS(Ni(tlist_test_cases(tCrypto.SelfTest.st_commonR4R(tconfigR4((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyt	get_tests
st__main__cCstjtS(N(tunittestt	TestSuiteR7(((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyt<lambda>stdefaultTesttsuite(t__doc__t__revision__tsystversion_infotCrypto.Util.py21compatR9tTestCaseRR7R2R=tmain(((sD/usr/lib/python2.7/dist-packages/Crypto/SelfTest/Util/test_number.pyt<module>s&