
    KhD                         S SK rS SKJrJrJr  S SKrS SKJr  S r	S r
S r\R                  R                  SS5      S	 5       rS
 rS rS rS rS rS r " S S5      rg)    N)assert_array_equalassert_equalassert_raises)chainc            	         / SQ/ SQ// SQ/ SQ//n S Hz  n[         R                  " XS9n[         R                  " USS9n[        UR                  [         R
                  5        [        U[         R                  " S	/S
//S/S///5      5        M|     [        [        [         R                  [         R                  " U [        S95        g )N)   r   r   )r   r   r   )r   r   r   )r   r   r   ?bBhHiIlLqQdtypeaxis   @          )
nparraypackbitsr   r   uint8r   r   	TypeErrorfloat)adtarrbs       O/var/www/html/env/lib/python3.13/site-packages/numpy/lib/tests/test_packbits.pytest_packbitsr      s    
Y	
Y		!Ahhq#KK"%QWWbhh'1bhh#t}'EFG	  )R[["((1E*BC    c                      / SQn S Hp  nU  Hg  n[         R                  " X!S9n[         R                  " U5      n[        UR                  [         R
                  5        [        UR                  S5        Mi     Mr     g )N)r   
      r   r#   r   r$   r   r#   r$   r$   r   r   r   r$   r   r   r   r$   r   r   r   r	   r
   r!   )r   emptyr   r   r   r   shape)shapesr   r,   r   r   s        r   test_packbits_emptyr.      sZ    F E)AAA"((+$'	  r   c            
      j   SS/4S/ SQ4S/ SQ4S/ SQ4S/ S	Q4S
/ SQ4S/ SQ4S/ SQ4/n S H  nU  H{  u  p#[        U5       Hg  u  pE[        R                  " X!S9n[        R                  " XdS9n[	        UR
                  [        R                  5        [	        UR                  U5        Mi     M}     M     g )Nr!   r"   ))   r$   r   )r#      r   r"   r%   ))r0   r   r$   r%   )r#   r   r1   r&   )r&   )r   r0   r$   )r   r#   r1   r'   )r1   r   r   r'   r'   r(   )r(   r   r1   r   r(   r)   )r)   r)   r   r   r1   r*   r*   r*   r*   r	   r
   r   )	enumerater   r+   r   r   r   r   r,   )r-   r   in_shape
out_shapesax	out_shaper   r   s           r   test_packbits_empty_with_axisr;       s     
v	;<	;<	;<	89	89	89	56	F $* H!*:!6HHX0KK+QWWbhh/QWWi0	 "7 %+ r   bitorderlittlebigc                    [         R                  " / SQ5      nUR                  S5      nS GH  n[         R                  " XS9n[         R                  " US U S9n[	        UR
                  [         R                  5        / SQnU S:X  a  [        XE5        [        [         R                  " X@S9S S	 U5        [        S
S5       Vs/ s H  n[         R                  " US U*  S S9S   PM!     nn[        U/ SQ5        UR                  SS5      n[         R                  " USS9n[	        UR
                  [         R                  5        [        U/ SQ/ SQ/ SQ/ SQ/ SQ/5        [         R                  " US
S9n[	        UR
                  [         R                  5        [        U/ / SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ S QP/ S!QP/ S"QP/ S#QP/ S$QP/ S%QP/ S&QP/ S'QP/ S(QP/ S)QP/ S*QP/ SQP/ S+QP/ S,QP/ S-QP/ S.QP/ S/QP/ S0QP/ S1QP/ S2QP/ S3QP/ S4QP/ S5QP/ S6QP/ S7QP/ S8QP/ S9QP5        UR                  R                  5       n[         R                  " USS9n[	        UR
                  [         R                  5        [        U/ S:Q/ S;Q/ S<Q/ S=Q/5        [         R                  " US
S9n[	        UR
                  [         R                  5        [        U/ S>Q/ S?Q/ S@Q/ SAQ/ SBQ/ SCQ/ SDQ/ SEQ/ SFQ/ SGQ/ SHQ/ SIQ/ SJQ/ SKQ/ SLQ/ SMQ/ SNQ/ SOQ/ SPQ/ SQQ/ SRQ/ SSQ/ STQ/ SUQ/ SVQ/5        GM     SW H  n[         R                  " XS9n[         R                  R                  [         R                  " U5      R                   [         R                  " U5      R"                  UR$                  USX9nS
XwS:H  '   X7R'                  U5      -  n[         R                  " USS9n[        [         R                  " U5      S S	 U5        M     [)        [*        [         R                  [         R                  " U[,        S95        g s  snf )YN(,  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r1   r	   r
   r   r<   )q      r   r1         rB   r   rE         r      r      rB   q      r1   rI   r   rH      r   rH   ~   r      rC   rI         rE   rF   rP   ?   rH   rM   8   rO   rG   r   rO      rQ   rN      rR   rB   p   rR   rI      rK   r1   rG   rR   rN   rU   rQ   rI   rI      rN   rT   r   rF      r   r1   rI   rW   r   r   rI   rN   r   rI   rB   rM   rQ   r   r   r   rB   rT   rQ   r   rL   rW   rB   rJ   rI   r1   rS   rR   rB   rT   rE   r   rJ   rI   rI   rP   rR   rO      rK   rO   rY   rW   rF   rS   r?   r<   r      r   r   )rS   rS   rS   rF      rH      r\   r   r   r   rW         r   $      r   )         re         W   S   ri      rW         rl      rm      rn      (   i   k   K   J   X   )H      rK   rV   rO   rj      Z   ry   ri   ri   w   rC   m   I   r            -   )   h   z   ry      )rJ   x   rK   rw      r^   <   4      rf   rf   rf         r      rI   rI               r         )   r   r   r   D      r   r   rv   ru   \   r   N   n   '                  r   rx            )r   rS   rS   r   P   rU   0   r   r   rN   rG   r}      rS   r   rN   rG   r}   r   r      rG   rN   r   rS   )rB   rC   r   r   )rE   rB   rL   rS   )rG   r   rH   r   )rI   rS   r   rS   )r   rF   rI   rS   )rP   rQ   r   r   )rI   rG   rE   r   )rE   rN   rT   r   )rM   r   rN   r   )rI   rI   rW   r   )rR   rH   rM   r   )rJ   rK   rO   rS   )rO   rP   rQ   r   )r   rH   rU   r   )rL   rK   r1   rS   )rH   rM   rR   r   )rR   rI   rV   rS   )rG   rE   rN   r   )rO   rY   r   rS   )rI   rI   rD   r   )r1   rV   rK   r   )r   rI   rV   rS   )rS   r   rI   rS   )rN   r   rI   rS   )rK   rB   rM   r   )r   rE   r1   rS   )rN   rJ   rK   r   )r   rB   rC   rS   )rP   rQ   rN   r   )rN   rT   rQ   r   )rE   r1   rS   r   )rJ   rI   rI   rS   )rH   rJ   rW   r   )rE   rO   rP   r   )rT   rR   rB   r   )$rB   rE   rG   rI   r   rP   rI   rE   rM   rI   rR   rJ   rO   r   rL   rH   rR   rG   rO   rI   rM   r1   r   rS   rN   rK   r   rN   r   rP   rN   rE   rJ   rH   rE   rT   )$rC   rB   r   rS   rF   rQ   rG   rN   r   rI   rH   rK   rP   rH   rK   rM   rI   rE   rY   rI   r   rV   rI   r   r   rB   rE   rJ   rB   rQ   rT   r1   rI   rJ   rO   rR   )$r   rL   rH   r   rI   r   rE   rT   rN   rW   rM   rO   rQ   rU   r1   rR   rV   rN   r   rD   rN   rK   rV   rI   rI   rM   r1   rK   rC   rN   rQ   rS   rI   rW   rP   rB   )$r   rS   r   rS   rS   r   r   r   r   r   r   rS   r   r   rS   r   rS   r   rS   r   r   r   rS   rS   rS   r   rS   r   rS   r   r   r   rS   r   r   r   )rc   rv   rJ   r   r   )rd   rw   r   r   rS   )re   rK   rK   r   rS   )re   rV   rw   r   r   )rf   rO   r   r   r   )rg   rj   r^   r   rU   )rh   rx   r   r   r   )ri   ry   r   r   r   )ri   ry   r   rv   r   )rj   ri   rf   ru   rN   )rW   ri   rf   r   rG   )rk   rz   rf   r   r}   )rl   rC   r   r   r   )rl   r{   r   r   rS   )rm   r|   r   r   r   )rm   r   r   r   rN   )rn   r}   rI   r   rG   )rn   r~   rI   r   r}   )ro   r   r   r   r   )rp   r   r   r   r   )rq   r   r   r   r   )rr   r   r   rx   rG   )rs   r   r   r   rN   )rt   ry   r   r   r   )ru   r   r   r   rS   
bBhHiIlLqQ)lowhighsizer   )r   r   repeatr   r   r   r   r   
unpackbitsrangereshapeTcopyrandomrandintiinfominmaxr   astyper   r   r   )r<   r   r   r   r   rirnds           r   test_packbits_larger   4   sx    	 N 	OA 	
Ahhq&KK$:QWWbhh'/ uq$2==>sCQG <AB<H<aR[[Sqb-b1<H1 . 	/ kk"b!KK!$QWWbhh'1  1 6 ; 4 >? 	@  KK!$QWWbhh'1 #53 #53#53#5  4#5  4	#5
  4#5  4#5  4#5  4#5  4#5  4#5  4#5  4#5  4#5  4#5  4#5   4!#5"  4##5$  4%#5&  4'#5(  4)#5*  4+#5,  4-#5.  4/#50  41#52  43#54  45#56  47#58  49#5:  4;#5<  4=#5>  4?#5@  4A#5B  4C#5D  4E#5F  4G#5 #	6J eejjlKK!$QWWbhh'1  3!7!:!MN 	O  KK!$QWWbhh'188888888888888888888888881: 	;M D hhq&iiBHHUO$7$7%'XXe_%8%8sxx&+   - 1Hzz%  KK"%2==+CR0!4  )R[["((1E*BCu Is   &P?c                      [        SS5       H<  n S H3  n[        R                  " SU 4[        S9n[        R                  " USS9  M5     M>     g )Ni  i  r	      r
   r   r   )r   r   onesboolr   )sr   xs      r   test_packbits_very_larger      sA     3Ba-AKK"   r   c            	         [         R                  " S/S/S//[         R                  S9n [         R                  " U SS9n[	        UR
                  [         R                  5        [        U[         R                  " / SQ/ SQ/ S	Q/5      5        g )
Nr0   rE      r
   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   s     r   test_unpackbitsr      si    
1#sRD!2A
aa A"((#q"(($<$<$<$> ? @r   c            	      Z   [         R                  " S/S/S//[         R                  S9n [         R                  " U SS9n[	        UR
                  [         R                  5        [         R                  " U SSS9n[         R                  " U SS	S9n[        X5        [        U [         R                  " USSS95        [        US S 2S S S
24   U5        [        U [         R                  " USS	S95        [        [        [         R                  U SS9  [        [        [         R                  U SS9  g )Nr0   rE   r   r
   r   r   r>   rA   r?   r   r   rZ   r#   )r   r   r   r   r   r   r   r   r   
ValueErrorr   )r   r   b_littleb_bigs       r   test_pack_unpack_orderr      s    
1#sRD!2A
aa A"((#}}QQ:HMM!!e4Eq q"++hQJKq4R4y(+q"++e!eDE*bmmQ=)R]]A;r   c                      [         R                  " S[         R                  S9n [         R                  " U 5      n[	        UR
                  [         R                  5        [        U[         R                  " S5      5        g )Nr!   r
   )r   r+   r   r   r   r   r   r   s     r   test_unpackbits_emptyr      sH    
RXX&A
aA"((#q"((4.)r   c            	      v   S/S4/ SQS4/ SQS4/ SQS4/ SQS	4/ S
QS4/ SQS4/ SQS4/n U  H  u  p[        U5       Hv  u  p4[        R                  " U[        R                  S9n[        R                  " XSS9n[        UR                  [        R                  5        [        UR                  U5        Mx     M     g )Nr!   ))r0   r^   r   )r\   r1   r   r\   r^   r   r   ))r0   r   r^   r\   r   r^   )r\   r   r1   r   )r   r\   r^   )r   r0   r^   )r   r\   r1   r   )r2   r^   r   r   r   r   )r   r^   r   r3   r   r   )r   r   r^   r   r4   r   r5   r*   r
   r   )r6   r   r+   r   r   r   r   r,   )r-   	in_shapesr:   r9   r7   r   r   s          r   test_unpackbits_empty_with_axisr      s     	.<	.<	.<	,j9	,j9	,j9	*I6	F !'	%i0LB2Aa)A"((+),	 1 !'r   c            
      \   [         R                  " S[         R                  S9n [        [         R                  " [         R
                  " U 5      5      U 5        [        [         R                  " [         R
                  " U S S S2   5      5      U S S S2   5        [         R                  " U S5      n [        [         R                  " [         R
                  " U SS9SS9U 5        U R                  R                  5       n [        [         R                  " [         R
                  " U SS9SS9U 5        g )Ni  r
   r0   )r1   r   r   r   r   )	r   aranger   r   r   r   tiler   r   )ds    r   test_unpackbits_larger     s    
		#RXX&Ar{{2==#34a8r{{2==3Q3#891SqS6B
6Ar{{2==#;!DaH	
Ar{{2==#;!DaHr   c                      \ rS rSr\R
                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/\R                  S	9r\R                  " S
\R                  S	9r	\R                  5       \	SS& \R                  " S
\R                  S	9r\SSS2   R                  5       R                  5       \SS& \R                  " S\R                  S	9r\\SS2SS24'   \R                  R!                  SS5      \R                  R!                  S\" \" S5      \" SSS5      5      5      S 5       5       r\R                  R!                  S0 SS0/5      S 5       r\R                  R!                  SS5      \R                  R!                  S\" \" S5      \" SSS5      5      5      S 5       5       r\R                  R!                  S0 SS0SS0SSS.SS0SSS./5      S 5       rS rS rg)!	TestCounti  )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r
   9   N1   r   )	   r   rE   r<   r=   count:   c                     US:  a  US-
  nOUn[         R                  " U R                  US9n[         R                  " XBUS9n[	        UR
                  [         R                  5        [        XPR                  S U 5        g )Nr   r   rZ   )r   r<   	r   r   r   r   r   r   r   r   padded1)selfr<   r   cutoffpackedunpackeds         r   test_roundtripTestCount.test_roundtrip.  sb     19QYFFTVVh7==xHX^^RXX.8\\'6%:;r   kwargsc                     [         R                  " U R                  5      n[         R                  " U40 UD6n[	        UR
                  [         R                  5        [        X0R                  S S 5        g )Nr   r   )r   r   r   r   s       r   
test_countTestCount.test_count<  sN     TVV$==262X^^RXX.8\\#2%67r   ro   c                 `   US:  a  US-
  nOUn[         R                  " U R                  SUS9n[         R                  " USUUS9n[	        UR
                  [         R                  5        [        XPR                  S U2S U R                  R                  S   24   5        [         R                  " U R                  SUS9n[         R                  " USUUS9n[	        UR
                  [         R                  5        [        XpR                  S U R                  R                  S   2S U24   5        g )Nr   r   rA   )r   r   r<   )
r   r   r   r   r   r   r   r   padded2r,   )r   r<   r   r   packed0	unpacked0packed1	unpacked1s           r   test_roundtrip_axisTestCount.test_roundtrip_axisE  s     19QYFF++dff1x@MM'+35	Y__bhh/9ll7F7<LTVV\\!_<L3L&MN++dff1x@MM'+35	Y__bhh/9ll3CDFFLLO3CWfW3L&MNr   r>   )r<   r   r?   c                    [         R                  " U R                  SS9n[         R                  " U4SS0UD6n[	        UR
                  [         R                  5        UR                  SS5      S:X  a6  [        X0R                  S S2S U R                  R                  S   24   5        O@[        US S S2S S 24   U R                  S S2S U R                  R                  S   24   5        [         R                  " U R                  SS9n[         R                  " U4SS0UD6n[	        UR
                  [         R                  5        UR                  SS5      S:X  a6  [        XPR                  S U R                  R                  S   2S S24   5        g [        US S 2S S S24   U R                  S U R                  R                  S   2S S24   5        g )Nr   r   r   r<   r?   r   r   )r   r   r   r   r   r   r   getr   r   r,   )r   r   r   r   r   r   s         r   test_axis_countTestCount.test_axis_countZ  sx    ++dff1-MM'<<V<	Y__bhh/::j%(E1y,,ss<LTVV\\!_<L7L*MNy2q14<<EUdffllSToEU@U3VW++dff1-MM'<<V<	Y__bhh/::j%(E1y,,7GQ7G"7L*MNyDbD14<<@Pa@PRUSURU@U3VWr   c                 x   [         R                  " U R                  SS9n[        [        [         R
                  USSS9  [         R                  " U R                  SS9n[        [        [         R
                  USSS9  [         R                  " U R                  5      n[        [        [         R
                  USS9  g )Nr   r   r   )r   r   r   r   )r   )r   r   r   r   r   r   )r   r   r   r   s       r   test_bad_countTestCount.test_bad_countr  sv    ++dff1-j"--qK++dff1-j"--qKTVV$j"--sCr    )__name__
__module____qualname____firstlineno__r   r   r   r   zerosr   ravelpadded1br   r   pytestmarkparametrizer   r   r   r   r   r   r   __static_attributes__r   r   r   r   r     s   
 XX	A hhr*G779GCRLxx"((+HddGLLN((*HSbMhhvRXX.GGBQBFO[[Z):;[[WeE"IuRb7I&JK
< L <
< [[X$( 88 [[Z):;[[WeE!HeBB6G&HIO J <O$ [[X$(+!)D9%(!&6( XX"Dr   r   )numpyr   numpy.testingr   r   r   r  	itertoolsr   r   r.   r;   r  r	  r   r   r   r   r   r   r   r   r   r   r   <module>r     s}     I I  
D
(1( %67^D 8^DB#@<*-(I[D [Dr   