idDddlZddlmZmZmZddlZddlmZdZ dZ dZ ej ddd Zd Zd Zd Zd ZdZdZGddZdS)N)assert_array_equal assert_equal assert_raises)chainc gdgdggdgdgg}dD]y}tj||}tj|d}t|jtjt |tjd gd ggd gd gggztttjtj|tdS) N)rr)rrr)rrr)rrr ?bBhHiIlLqQdtypeaxis@ ) nparraypackbitsrr uint8rr TypeErrorfloat)adtarrbs R/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/lib/tests/test_packbits.py test_packbitsrs ))YYY  ))YYY  !AHHhq### K" % % %QWbh'''1bh# t}'EFFGGGG)R["(1E*B*B*BCCCCCcgd}dD]e}|D]`}tj||}tj|}t|jtjt|jdafdS)N)r rr#rr$rr#r$r$rrrr$rrrr$rrrr r r!)remptyrrr rshape)shapesrr,rrs rtest_packbits_emptyr.sF(( ( (Eb)))A AA "( + + + $ ' ' ' '  (((rc \ddgfdgdfdgdfdgdfdgd fd gd fd gd fdgdfg}dD]}|D]z\}}t|D]e\}}tj||}tj||}t |jtjt |j|f{dS)Nr!r"))r$r)r#rr"r%))r0rr$r%)r#rr1r&)r&)rr0r$)rr#r1r')r1rrr'r'r()r(rr1rr(r))r)r)rrr1r*r*r*r*r r r ) enumeraterr+rrr rr,)r-rin_shape out_shapesax out_shaperrs rtest_packbits_empty_with_axisr; s" v ;;;< ;;;< ;;;< 8889 8889 8889 5556 F11$* 1 1 Hj!*:!6!6 1 1 IHXR000K+++QWbh///QWi0000  1 111rbitorderlittlebigcttjgd}|d}dD]}tj||tjd|}t |jtjgd}|dkrt||ttj||dd |fd td d D}t|gd  ddtjd}t |jtjt|gdgdgdgdgdgtjd }t |jtjt|ggdgdgdgdgdgdgdgdgdgd gd!gd"gd#gd$gd%gd&gd'gd(gd)gd*gdgd+gd,gd-gd.gd/gd0gd1gd2gd3gd4gd5gd6gd7gd8gd9j tjd}t |jtjt|gd:gd;gd<gd=gtjd }t |jtjt|gd>gd?gd@gdAgdBgdCgdDgdEgdFgdGgdHgdIgdJgdKgdLgdMgdNgdOgdPgdQgdRgdSgdTgdUgdVgdWD]}tj||tj tj|jtj|jj|X}d ||dk<||ztjdY}ttj|dd |t)t*tjtj|t,dS)ZN(,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1r r rr<)qrr1rBrrErrrBqr1rIrrHrrH~rrCrIrErFrP?rHrM8rOrGrrOrQrNrRrBprRrIrKr1rGrRrNrUrQrIrIrNrTrrFrr1rIrWrrrIrNrrIrBrMrQrrrrBrTrQrrLrWrBrJrIr1rSrRrBrTrErrJrIrIrPrRrOrKrOrYrWrFrSr?r<cZg|]'}tjd| dd(S)Nr r )rr).0irs r z'test_packbits_large..Ys7 H H HaR[SqbS - - -b 1 H H Hrr)rSrSrSrFrHr`rrrrWr$rr )riWSrmrWrprqrr(ikKJX)HrKrVrOrnZr}rmrmwrCmIr-)hzr})rJxrKr{rb<4rjrjrjrrIrIr)rrrDrrrzry\rNn'rr|)rrSrSrPrU0rrrNrGrrSrrNrGrrrrGrNrrS)rBrCrr)rErBrLrS)rGrrHr)rIrSrrS)rrFrIrS)rPrQrr)rIrGrEr)rErNrTr)rMrrNr)rIrIrWr)rRrHrMr)rJrKrOrS)rOrPrQr)rrHrUr)rLrKr1rS)rHrMrRr)rRrIrVrS)rGrErNr)rOrYrrS)rIrIrDr)r1rVrKr)rrIrVrS)rSrrIrS)rNrrIrS)rKrBrMr)rrEr1rS)rNrJrKr)rrBrCrS)rPrQrNr)rNrTrQr)rEr1rSr)rJrIrIrS)rHrJrWr)rErOrPr)rTrRrBr)$rBrErGrIrrPrIrErMrIrRrJrOrrLrHrRrGrOrIrMr1rrSrNrKrrNrrPrNrErJrHrErT)$rCrBrrSrFrQrGrNrrIrHrKrPrHrKrMrIrErYrIrrVrIrrrBrErJrBrQrTr1rIrJrOrR)$rrLrHrrIrrErTrNrWrMrOrQrUr1rRrVrNrrDrNrKrVrIrIrMr1rKrCrNrQrSrIrWrPrB)$rrSrrSrSrrrrrrrSrrrSrrSrrSrrrrSrSrSrrSrrSrrrrSrrr)rgrzrJrr)rhr{rrrS)rirKrKrrS)rirVr{rr)rjrOrrr)rkrnrbrrU)rlr|rrr)rmr}rrr)rmr}rrzr)rnrmrjryrN)rWrmrjrrG)ror~rjrr)rprCrrr)rprrrrS)rqrrrr)rqrrrrN)rrrrIrrG)rrrrIrr)rsrrrr)rtrrrr)rurrrr)rvrrr|rG)rwrrrrN)rxr}rrr)ryrrrrS bBhHiIlLqQ)lowhighsizer r )rrrepeatrrr rr unpackbitsrangereshapeTcopyrandomrandintiinfominmaxrastyperrr)r<rr rrrndrs @rtest_packbits_larger4s NNN O OA  A~;~;hq&&& K$ : : :QWbh''' / / / u   q! $ $ $2=X>>>ssCQGGG I H H H5B<< H H H1... / / /kk"b!! K! $ $ $QWbh'''1 1 1 1 6 6 6 ; ; ; 4 4 4 > > >? @ @ @ K! $ $ $QWbh'''1#5333#5333#5333#5 433#5 433 #5 433 #5 433 #5 433#5 433#5 433#5 433#5 433#5 433#5 433#5 433#5 433#5 433!#5" 433##5$ 433%#5& 433'#5( 433)#5* 433+#5, 433-#5. 433/#50 4331#52 4333#54 4335#56 4337#58 4339#5: 433;#5< 433=#5> 433?#5@ 433A#5B 433C#5D 433E#5F 433G#5# 6# 6# 6Jejjll K! $ $ $QWbh'''1 3 3 3!7!7!7!:!:!:!M!M!MN O O O K! $ $ $QWbh'''18888888888888888888888888888888888888888888888888888888888888888888888888881: ; ; ; ;855hq&&&iBHUOO$7%'Xe__%8sx&+ --C1H  szz%    K" % % %2=++CRC0!4444)R["(1E*B*B*BCCCCCrctddD]:}dD]5}tjd|ft}tj|d6;dS)Niir r rr )rronesboolr)srxs rtest_packbits_very_largersk3  ## # #Ba---A K " " " " " ###rc tjdgdgdggtj}tj|d}t |jtjt |tjgdgdgd gdS) Nr0rEr rr )rrrrrrrr)rrrrrrrr)rrrrrrrr)rrrrrr rrrs rtest_unpackbitsrs 1#sRD!222A aa   A"(###q"($<$<$<$<$<$<$<$<$<$>??@@@@@rctjdgdgdggtj}tj|d}t |jtjtj|dd}tj|dd }t ||t |tj|ddt |ddddd f|t |tj|dd tttj|d tttj|d dS)Nr0rErr rr r>rAr?r rrZr#) rrrrrr rrr ValueErrorr)rrb_littleb_bigs rtest_pack_unpack_orderrs% 1#sRD!222A aa   A"(###}QQ:::H M!!e 4 4 4Eq%   q"+hQJJJKKKq44R4y(+++q"+e!eDDDEEE*bmQ====)R]A;;;;;;rctjdtj}tj|}t |jtjt |tjddS)Nr!r )rr+rrrr rrs rtest_unpackbits_emptyrsY RX&&&A aA"(###q"(4..)))))rc fdgdfgddfgddfgddfgdd fgd d fgd d fgddfg}|D]\}}t|D]o\}}tj|tj}tj||}t |jtjt |j|pdS)Nr!))r0rbr)r`r1rr`rbrr))r0rrbr`rrb)r`rr1r)rr`rb)rr0rb)rr`r1r)r2rbrrrr)rrbrr3rr)rrrbrr4rr5r*r r )r6rr+rrrr r,)r- in_shapesr:r9r7rrs rtest_unpackbits_empty_with_axisrs   . . . < . . . < . . . < , , ,j9 , , ,j9 , , ,j9 * * *I6 F!'-- 9%i00 - -LB222A ab)))A "( + + + ) , , , ,  ---rc vtjdtj}ttjtj||ttjtj|ddd|dddtj|d}ttjtj|dd||j}ttjtj|dd|dS)Nir r0)r1rrr r) rarangerrrrtilerr)ds rtest_unpackbits_largers #RX&&&Ar{2=#3#344a888r{2=33Q3#8#8991SSqS6BBB 6Ar{2=#;#;#;!DDDaHHH  Ar{2=#;#;#;!DDDaHHHHHrc eZdZejgdgdgdgdgdgdgdgejZejd ejZe ed d <ejd ejZ ed d d  e d d <ejd ejZ ee d dd df<e jdde jdeeded dd dZe jdidd igdZe jdde jdeeded dd dZe jdidd iddidd dddidd dgdZdZd S) TestCount)rrrrrrr)rrrrrrr)rrrrrrr)rrrrrrr)rrrrrrr)rrrrrrr)rrrrrrrr 9N1r ) rrEr<r=count:c|dkr|dz }n|}tj|j|}tj|||}t |jtjt||jd|dS)NrrrZ)rr< rrrrrr rrpadded1)selfr<rcutoffpackedunpackeds rtest_roundtripzTestCount.test_roundtrip.s~ 199QYFFFTVh777=uxHHHX^RX...8T\'6'%:;;;;;rkwargsctj|j}tj|fi|}t |jtjt||jdddS)Nr r)rrrrs r test_countzTestCount.test_count<saTV$$=22622X^RX...8T\#2#%677777rrsc2|dkr|dz }n|}tj|jd|}tj|d||}t |jtjt||jd|d|jj dftj|jd|}tj|d||}t |jtjt||jd|jj dd|fdS)NrrrA)rrr<) rrrrrr rrpadded2r,)rr<rrpacked0 unpacked0packed1 unpacked1s rtest_roundtrip_axiszTestCount.test_roundtrip_axisEs 199QYFFF+df1x@@@M'+3555 Y_bh///9dl7F7)r<rr?chtj|jd}tj|fddi|}t |jtj|dddkr2t||j ddd|jj dfn>t|dddddf|j ddd|jj dftj|jd}tj|fddi|}t |jtj|dddkr3t||j d|jj dddfdSt|dddddf|j d|jj dddfdS)Nrr rr<r?r r) rrrrrr rgetrrr,)rrrrrrs rtest_axis_countzTestCount.test_axis_countZs+df1---M'<<r sVIIIIIIIIII  D D D ( ( (111(%677^D^D87^DB###@@@ < < <***---(III[D[D[D[D[D[D[D[D[D[Dr