ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ +xQc@s ddlZddlZddlZyddlZWnek rMdZnXdZerfdZn dZddlm Z ddl Z ddl Z ddl Te ZeZeZe ZeZeZdZd Zd Zed Zd Zd ZdZdZdZ dZ!dZ"fdddZ#defdYZ$dZ%dd>dZ&dZ'dZ(dZ)dZ*dZ+dZ,d fd!YZ-d"fd#YZ.ed$Z/d%Z0d&Z1e-Z2e3d'kr e1ndS((iNiicCs"tttjj|||gS(N(tmaptinttnumpytrandomtrandom_integers(tlowthightlength((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytrandom_integers_listscCs)gt|D]}tj||^q S(N(trangeRtrandint(RRRti((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyRs(tclock(t*cCsdS(N((tatb((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt absorption!scCsdS(N((RRtc((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt associative%scCsdS(N((RR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt commutative)scCs|dkrndS(N(tNone(RRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytdeMorgan-s cCsdS(N((R((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt idempotence5scCsdS(N((RR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt inclusion9scCsdS(N((RRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt distributive@scCsx|D]}t|xv|D]n}t||t||t||x>|D]6}t|||t|||t|||qRWqWqWdS(N(RRRRRRR(tas_tbstcsRRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest_set_operationsFs       cCsd}xr|D]j}xa|D]Y}|t|t|k||k|||k||koj||k |||k||ko||ks||ko||k |||k||ko||ko||k o||k |||k||k o||k |||k||ko4||k |||k||kor||ksh||kor||k qWqWdS(NcSsdS(N((RR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytimpSs(tlen(RRRRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt test_set_subRs   %&>?'&cCs&x|D]}x|D]}qWqWdS(N((RRRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt test_set_len`s  cCs&x|D]}x|D]}qWqWdS(N((RRRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest_set_convertos  c Cs]t|}t}x|D]}||}qWt}||} |rU| |fS| SdS(N(R R ( tftargstNtretxtrt starttimeR txtendtimetelapsed((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyteltimezs      tIdSetcBs#eZdZdZdZRS(cCstj|t|ddS(Ni (tbitsmuttappendtid(tselfR(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR.scCstj|t|ddS(Ni (R-tremoveR/(R0R(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR1scCstj|t|dS(Ni (R-t __contains__R/(R0R(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR2s(t__name__t __module__R.R1R2(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR,s  cCs9|}x,|r4||A||@d>}}|G|GHq W|S(Ni((RRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytadds   licCsttj| |S(N(tlongRt randrange(tlim((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR scCs\t}t}td@}t}t}td@}|||>|||>}|S(Nl(R (RRtashRtdtbshR&((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytrandlongs      cCs4i}x'|D]}||kr d||tks((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytdslists   cCsai}g}xNtdD]@}x7td}||kr"|j|d|| list of n unique random ints in [-amp,amp]i'iPi(R R R.(tntampR>trngR R((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytrandlists     cCs(|j}x|D]}||qWdS(N(R.(RRtaptbit((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytt_appends  cCs2|j}x"|D]}|t|dqWdS(Ni (R.R/(RRRIRJ((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt t_append_ids  tTestcBsUeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z dd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&RS(%icCsdS(N((R0((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest0sc Cs*ddl}|j}tdddggBtdddgg@tdddgdgBtdddgtdBtdddgtdddBttgtdtdtdttf}||IJx|D]}qWtdtd|td IJ|tdIJ|td IJ|tdgtdBIJ|ttdgIJ|ttdgIJtdj}|}|dO}|t|IJ|d O}|t|IJ|ddgO}|t|IJ|dO}|t|IJ|tdgO}|t|I|IJ|tdgO}t|}||IJ||M}||IJ|dM}||IJ||O}|d M}|t|IJ||O}|ddgM}|t|IJ||O}|dM}|t|IJ||O}|tdgM}||IJ||O}|tdgM}||IdI|tdg@IJ|dN}||IJ|d N}|t|IJ|ddgN}|t|IJ|d N}|t|IJ|tdgN}||IJ|dM}||O}||O}||IdI||BI||BItg|BIJt|}|dO}||I|dBIt|It|IJ||N}||IJ||M}||It|It|IJ|dO}||It|IJ|dM}||It|IJ|dN}||It|IJ|dO}||It|IJ|dM}||It|IJ|dN}||It|IJ|tdO}||It|IJ|tdM}||It|IJ|tdIJ|tdgIJ|tdgtdgBIJtjdkr&ndS(!Niiiiiidillii il@iiii%sts&.tmtiillli(ll(i(ii(ii(ii( tStringIOtbitsetR R6Rtmutcopytlisttsyst hexversion( R0RPR"temptiesR?tmstmsattstxs((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest1s  #                         $        8  ,   "       c CsxgtdD]}t^qD]}xgtdD]}t^q9D]}g}x4|t|t|fD]}x|t|t|fD]}g}|j||B|j||@|j||A|j||B|j||@|j||A|j||B|j||@|j||A|j||B|j||@|j||A|j|qWqtWtjdkrqLnx6|dD]*}x!t||dD] \} } qWqWqLWq#WdS(Ni iii(R R<RQR-R.RTRUtzip( R0R RtjRRYttattbttrR&R(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest2s0))"" c Cst}t}t}t}g}xx|t|t|fD][}xR|t|t|fD]5}|d@r||O}n.|d@r||M}n|d@r||N}nx|t|t|fD]}g} ||O}| jt|||M}| jt|||N}| jt|||O}| jt|||M}| jt|||N}| jt||j| qWqhWqFWtjdkrdSx6|dD]*} x!t| |dD] \} } qWqWdS(Niiiii( R<R RQR-R.R6RTRUR\( R0tptopRRRYttpR^R_R`R&R(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest3sB    ""      "       cCsd}d}xtdd d d|jdD]}d |>}|Gt|d ||fGt|d t||fGt|d t|t|fGt|d t||fGt|d t|t|fGt|d t|t|fGHq1WdS( NcSsSxL|dkrN||O}||O}||O}||O}||O}|d8}qWdS(Nii((RER(ty((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytf1s     liii iiiliii(R tfasterR+RQR-(R0RgR(texpRf((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest4s ( ""c Csi}x{tdD]m}t}d||O}qWdS(Nl((RRRJ((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR"s (R+(RGtloR"(Ry(sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttlos cs%t}d}t||fS(NcSs%x|D]}|t|O}qWdS(N(Rx(RRRJ((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR"s (RQR+(RGRR"(Ry(sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttbss  csg}t||fS(N(R+(RGtls(R"(sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttlsscsi}t||fS(N(R+(RGR>(Rw(sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttdsscsi|dkrt|}ntg|| D]}|df^q)}t||fdd\}}|S(NiR%(RRRkR+(RGRER(R>R}Ru(Rv(sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttdslus  )!ii'iiPi@id( RPR-R.tpopR1RRhR RH( R0RPRR|R~RRRRRRtstepRG((R"RvRwRysB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest7PsN                   !+, cCsAt}x||g|dgfD]s}dgif}x|D]}|j|qDWx|D]}qbWx|D]}|j|qsWx|D]}qWq(Wyddlm}Wntk rdGHnrXtd}x1g||fD]}tt||fGHqWx.gt gfD]}tt ||fGHqWdS(Nii(tListLikeDictSets:can not import snidioms, skipping a performance comparisoni'(( R,R.R1tsnidiomsRt ImportErrorR R+RKR-RL(R0tBSRtostoRRGRu((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest8s((       cCsdx]dD]U}t|}t|}t| ||}t|}t|}t|}qWdS(Nii'i(ii'i(R R-RRDRQ(R0R R&tmtlatlasR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest9s      cCsbd}td}dGH|||jdGH||tddd}dGH||dS(NcSs3x,dD]$}d|GHtt|| fGHqWdS(Nii'iiseltime(bitset, (la[:%d],))(ii'ii(R+RQ(RR ((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttestss  isla = range(400000)s la.reverse()is/la=random_integers_list(-400000,400000,400000))(R treverseR(R0RR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest10s     cCsitddd}xP|dkrdtg}d|_||O}dG|G|jG|jGH|d8}qWdS(Niiiidttest11i(RR-t_splitting_sizet _indisizet_num_seg(R0RERRW((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyR s   c CsxdD]}t}t|}||O}x<dD]4}x!t|D]}|j|qFW||O}q3W|j}xdD]}xtd |d |D]o}g}x*t|D]}|j|j|qW|d kr|jnt|||}||O}qWq{WqWdS(Ni i@iiii!i?iAiiiii ( i i@iiii!i?iAii(ii(ii(R-R RRR.R( R0R$RWRGtpopixR]tindisizeR tpops((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest12s&          cCst}|dN}|jdy|jdWntk rDnXd|jdy|jdWntk r|nXd|jdy|jWntk rnXddS(Nisexpected ValueError for removesexpected ValueError for appendsexpected ValueError for popi(R-R1t ValueErrorR.R(R0RW((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest133s(        cCsOd}xB|D]:}x1|D])}x dD]}t|||}q'WqWq WdS(Niiiiiiiiii ii i!idiiiiiii(iiiiiiiiii ii i!idi( iiiiiiiii i!(R (R0RZRthiRR&((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest14Vs    cCsxtddD]y}xpt|d|dD]W}t||}t||}t|}d}x|r||}d|}qgWq.WqWdS(Nii"ii#ii(R tbitrangeR-(R0RRRGRRWR R(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest15as   c Csx+tdD]}xtdD]}q Wq Wtj}| d}tdg}x|| |fD]}qbWd}|t|gd|t|gd|t| gd>dx?dddfD].\}}xdD]}xdD]}qWqWqWdS(Ni@iicSs*y ||>Wntk rnXddS(Nsexpected OverflowError(t OverflowError(Rtsh((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttsvs   ii i'iiiiiiiiii(ii (ii'(ii( iiiiiiiii(iii(R RTtmaxintRQ( R0RtvRtminintRRRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest16vs      c Csx dddtdtdtdtfD]}xdddtdtdtdtfD]}xt|t|t|tt|fD]b}xY||t|t|t|tt|fD]}||k}||k}qWqWqhWq1WdS(Niiiii i!(R R<RQR-(R0RRRRRz((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest17s779@  cCstttt>tttt>tttt>tttt>Btttt>tttt>Bg}tttdgttttgg|D]}|tA^q}|g|D]}t|^q}x|D]}t|x|D]}t||t ||t ||t ||x.|D]&}t |||t |||qnWx|D]}t |||qWq-WqWdS(Ni(RQtabsR<R RnRoR-RRRRRRR(R0tanyRRR((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest18s*39 0#         cCsqd}dgtd|dBj}x9td|ddD]!}|td|||M}q<Wt|}|S(Niii(RRRRS(R0R$tprimesR ((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest19s  c$Cstj}| d}xdddddddd dd!dfdd"dfdd$dfdd%dfdd&d fdd'd fdd(d f|d|f|d|df|d|d f|d|d f|d|df|d|f|d|df|d|d f|d|d f|d|dfd||fd||fd||f|||f|||df|||df|||d f|||d ff!D]}t|}qWyt||dWntk rnXd|jsdGHnxtdddd|jD]}dG|Gtjjxtdddd|jD]s}xjtdddd|jD]K}xB|||||f|||||ffD]}t|}qWqcWq?WqWdGHdS()Nii ii!i ii?ii@iiiiii@isexpected OverflowErrors>bitrange testing many combinations, this may take some time...i"iRii tdone(i (i(i!(i (ii!(ii!i(ii?i(ii@i iQi`i`iaiii@i`(RTRRRRhR tstdouttflush(R0RRRtbrR=tsttarg((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyttest20sn                  $ $$ cCsDi}td}td}|}|}d|||q>q>WdS(Nstest%dsTest #%d(R.tgetattrRzR(tnumbersR+tenufuncsRER"((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt test_numss $  cCsddl}td}|jdt}d}xDt||j|jdrm|dkrm|n|d7}q7WdS(Nii$i"iii(RR R1RR/R+R(RtnumsRWR t dump_alset((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt test_leaks      cCsttddS(Ni$(R/R (((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pyt test_mainst__main__(4RRRTt numpy.randomRRt has_numpyRttimeR RRt guppy.setst immbitsetRnRot mutbitsetR-RQt immbitrangeRtimmbitRxRRRRRRRRRRR R!R+R,R5R R<R@RDRHRKRLRMRR/R2R3RzR3(((sB/opt/alt/python27/lib64/python2.7/site-packages/guppy/sets/test.pytsh$                        8