
    pg\jdD                         S SK r S SKrS SKJrJr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_raisesc            	         / 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       X/home/edenadmin/noVNC/venv/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$   ))r/   r   r#   r$   )r"   r   r0   r%   )r%   )r   r/   r#   )r   r"   r0   r&   )r0   r   r   r&   r&   r'   )r'   r   r0   r   r'   r(   )r(   r(   r   r   r0   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   r0   r   r	   r   r;   )q      r   r0         rA   r   rD         r      r      rA   q      r0   rH   r   rG      r   rG   ~   r      rB   rH         rD   rE   rO   ?   rG   rL   8   rN   rF   r   rN      rP   rM      rQ   rA   p   rQ   rH      rJ   r0   rF   rQ   rM   rT   rP   rH   rH      rM   rS   r   rE      r   r0   rH   rV   r   r   rH   rM   r   rH   rA   rL   rP   r   r   r   rA   rS   rP   r   rK   rV   rA   rI   rH   r0   rR   rQ   rA   rS   rD   r   rI   rH   rH   rO   rQ   rN      rJ   rN   rX   rV   rE   rR   r>   r;   r      r   r   )rR   rR   rR   rE      rG      r[   r   r   r   rV         r   $      r   )         rd         W   S   rh      rV         rk      rl      rm      (   i   k   K   J   X   )H      rJ   rU   rN   ri      Z   rx   rh   rh   w   rB   m   I   r            -   )   h   z   rx      )rI   x   rJ   rv      r]   <   4      re   re   re         r      rH   rH               r         )   r   r   r   D      r   r   ru   rt   \   r   N   n   '                  r   rw            )r   rR   rR   r   P   rT   0   r   r   rM   rF   r|      rR   r   rM   rF   r|   r   r      rF   rM   r   rR   )rA   rB   r   r   )rD   rA   rK   rR   )rF   r   rG   r   )rH   rR   r   rR   )r   rE   rH   rR   )rO   rP   r   r   )rH   rF   rD   r   )rD   rM   rS   r   )rL   r   rM   r   )rH   rH   rV   r   )rQ   rG   rL   r   )rI   rJ   rN   rR   )rN   rO   rP   r   )r   rG   rT   r   )rK   rJ   r0   rR   )rG   rL   rQ   r   )rQ   rH   rU   rR   )rF   rD   rM   r   )rN   rX   r   rR   )rH   rH   rC   r   )r0   rU   rJ   r   )r   rH   rU   rR   )rR   r   rH   rR   )rM   r   rH   rR   )rJ   rA   rL   r   )r   rD   r0   rR   )rM   rI   rJ   r   )r   rA   rB   rR   )rO   rP   rM   r   )rM   rS   rP   r   )rD   r0   rR   r   )rI   rH   rH   rR   )rG   rI   rV   r   )rD   rN   rO   r   )rS   rQ   rA   r   )$rA   rD   rF   rH   r   rO   rH   rD   rL   rH   rQ   rI   rN   r   rK   rG   rQ   rF   rN   rH   rL   r0   r   rR   rM   rJ   r   rM   r   rO   rM   rD   rI   rG   rD   rS   )$rB   rA   r   rR   rE   rP   rF   rM   r   rH   rG   rJ   rO   rG   rJ   rL   rH   rD   rX   rH   r   rU   rH   r   r   rA   rD   rI   rA   rP   rS   r0   rH   rI   rN   rQ   )$r   rK   rG   r   rH   r   rD   rS   rM   rV   rL   rN   rP   rT   r0   rQ   rU   rM   r   rC   rM   rJ   rU   rH   rH   rL   r0   rJ   rB   rM   rP   rR   rH   rV   rO   rA   )$r   rR   r   rR   rR   r   r   r   r   r   r   rR   r   r   rR   r   rR   r   rR   r   r   r   rR   rR   rR   r   rR   r   rR   r   r   r   rR   r   r   r   )rb   ru   rI   r   r   )rc   rv   r   r   rR   )rd   rJ   rJ   r   rR   )rd   rU   rv   r   r   )re   rN   r   r   r   )rf   ri   r]   r   rT   )rg   rw   r   r   r   )rh   rx   r   r   r   )rh   rx   r   ru   r   )ri   rh   re   rt   rM   )rV   rh   re   r   rF   )rj   ry   re   r   r|   )rk   rB   r   r   r   )rk   rz   r   r   rR   )rl   r{   r   r   r   )rl   r   r   r   rM   )rm   r|   rH   r   rF   )rm   r}   rH   r   r|   )rn   r~   r   r   r   )ro   r   r   r   r   )rp   r   r   r   r   )rq   r   r   rw   rF   )rr   r   r   r   rM   )rs   rx   r   r   r   )rt   r   r   r   rR   
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   5   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: 	;K @ hhq&iiBHHUO$7$7%'XXe_%8%8sxx&+   - 1Hzz%  KK"%2==+CR0!4  )R[["((1E*BCq 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 )
Nr/   rD      r	   r   r   )r   r   r   r   r   r   r   r   )r   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 )Nr/   rD   r   r	   r   r   r=   r@   r>   r   r   rY   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DbDz8,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    ))r/   r]   r   )r[   r0   r   r[   r]   r   r   ))r/   r   r]   r[   r   r]   )r[   r   r0   r   )r   r[   r]   )r   r/   r]   )r   r[   r0   r   )r1   r]   r   r   r   r   )r   r]   r   r2   r   r   )r   r   r]   r   r3   r   r4   r)   r	   r   )r5   r   r*   r   r   r   r
   r+   )r,   	in_shapesr9   r8   r6   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	   r/   )r0   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      Q\" SSS5      Q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      Q\" SSS5      Q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   rD   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   rY   )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   rn   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   r@   )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_axisC  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_countX  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_countp  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   __static_attributes__r   r   r   r   r     s   
 XX	A hhr*G779GCRLxx"((+HddGLLN((*HSbMhhvRXX.GGBQBFO[[Z):;[[W&Gb	&GE"c24F&GH
< I <
< [[X$( 88 [[Z):;[[W&Ea&E5R3D&EFO G <O$ [[X$*!)D9'!&6( XX"Dr   r   )r  numpyr   numpy.testingr   r   r   r   r-   r:   r  r  r   r   r   r   r   r   r   r   r   r   r   <module>r     sz      I I
D
(1( %67\D 8\D~#@<*-(I[D [Dr   