
    CEjdD                         d dl Z d dlZd dlmZmZmZ d Zd Zd Z	e j                  j                  dd      d        Zd	 Zd
 Zd Zd Zd Zd Z G d d      Zy)    N)assert_array_equalassert_equalassert_raisesc            	         g dg dgg dg dgg} dD ]}  }t        j                  | |      }t        j                  |d      }t        |j                  t         j
                         t        |t        j                  d	gd
ggdgdggg              t        t        t         j                  t        j                  | t                     y )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       k/var/www/html/eeg-assistent/strom-signal/venv/lib/python3.12/site-packages/numpy/lib/tests/test_packbits.pytest_packbitsr      s    
Y	
Y		!A Hhhq#KK"%QWWbhh'1bhh#t}'EFG	H )R[["((1E*BC    c                      g d} dD ]o  }| D ]h  }t        j                  ||      }t        j                  |      }t        |j                  t         j
                         t        |j                  d       j q y )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-      sf    F  ( 	(Eb)AAA"((+$'		((r   c            
      n   ddgfdg dfdg dfdg dfdg d	fd
g dfdg dfdg dfg} dD ]  }| D ]  \  }}t        |      D ]m  \  }}t        j                  ||      }t        j                  ||      }t	        |j
                  t        j                         t	        |j                  |       o   y )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  1$* 	1 Hj!*:!6 1IHHXR0KK+QWWbhh/QWWi0	1	11r   bitorderlittlebigc                    t        j                  g d      }|j                  d      }dD ]  }t        j                  ||      }t        j                  |d |       }t	        |j
                  t         j                         g d}| dk(  rt        ||       t        t        j                  ||       d d	 |       t        d
d      D cg c]   }t        j                  |d |  d       d   " }}t        |g d       |j                  dd      }t        j                  |d      }t	        |j
                  t         j                         t        |g dg dg dg dg dg       t        j                  |d
      }t	        |j
                  t         j                         t        |g g dg dg dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*g dg d+g d,g d-g d.g d/g d0g d1g d2g d3g d4g d5g d6g d7g d8g d9       |j                  j                         }t        j                  |d      }t	        |j
                  t         j                         t        |g d:g d;g d<g d=g       t        j                  |d
      }t	        |j
                  t         j                         t        |g d>g d?g d@g dAg dBg dCg dDg dEg dFg dGg dHg dIg dJg dKg dLg dMg dNg dOg dPg dQg dRg dSg dTg dUg dVg        dWD ]  }t        j                  ||      }t         j                  j                  t        j                  |      j                   t        j                  |      j"                  |j$                  |X      }d
||dk(  <   ||j'                  |      z  }t        j                  |d      }t        t        j                  |      d d	 |        t)        t*        t         j                  t        j                  |t,                     y c c}w )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   s    	 N 	OA 	
A };hhq&KK$:QWWbhh'/ uq!$2==X>sCQG <AB<HaR[[Sqb-b1H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};@  5hhq&iiBHHUO$7$7%'XXe_%8%8sxx&+   - C1Hszz%  KK"%2==+CR0!45 )R[["((1E*BCq Is   	%Qc                      t        dd      D ]=  } dD ]6  }t        j                  d| ft              }t        j                  |d       8 ? y )Ni  i  r      r	   r   r   )r   r   onesboolr   )sr   xs      r   test_packbits_very_larger      sK     3 # 	#Ba-AKK"	##r   c            	          t        j                  dgdgdggt         j                        } t        j                  | d      }t	        |j
                  t         j                         t        |t        j                  g dg dg d	g             y )
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                     t        j                  dgdgdggt         j                        } t        j                  | d      }t	        |j
                  t         j                         t        j                  | dd      }t        j                  | dd	      }t        ||       t        | t        j                  |dd             t        |d d d d d
f   |       t        | t        j                  |dd	             t        t        t         j                  | d       t        t        t         j                  | d       y )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                      t        j                  dt         j                        } t        j                  |       }t	        |j
                  t         j                         t        |t        j                  d             y )Nr    r	   )r   r*   r   r   r   r
   r   r   s     r   test_unpackbits_emptyr      sH    
RXX&A
aA"((#q"((4.)r   c            	      |   dgdfg ddfg ddfg ddfg dd	fg d
dfg ddfg ddfg} | D ]  \  }}t        |      D ]{  \  }}t        j                  |t        j                        }t        j                  ||      }t        |j                  t        j                         t        |j                  |       }  y )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 !' -	9%i0 	-LB2Aab)A"((+),		--r   c            
      f   t        j                  dt         j                        } t        t        j                  t        j
                  |             |        t        t        j                  t        j
                  | d d d               | d d d          t        j                  | d      } t        t        j                  t        j
                  | d      d      |        | j                  j                         } t        t        j                  t        j
                  | d      d      |        y )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                      e Zd Z ej                  g dg dg dg dg dg dg dgej
                        Z ej                  d	ej
                        Zej                         ed
d  ej                  d	ej
                        Z
ed
d
d   j                         j                         e
d
d  ej                  dej
                        Zeed
dd
df<   ej                  j                  dd      ej                  j                  dg  ed       eddd            d               Zej                  j                  di dd
ig      d        Zej                  j                  dd      ej                  j                  dg  ed       eddd            d               Zej                  j                  di dd
iddidd
dddidd
dg      d        Zd Zy
)	TestCount)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   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                 
   |dk  r|dz
  }n|}t        j                  | j                  |      }t        j                  |||      }t	        |j
                  t         j                         t        || j                  d |        y )Nr   r   rY   )r   r;   	r   r   r   r   r   r
   r   r   padded1)selfr;   r   cutoffpackedunpackeds         r   test_roundtripzTestCount.test_roundtrip,  sf     19QYFFTVVh7==uxHX^^RXX.8T\\'6%:;r   kwargsc                     t        j                  | j                        }t        j                  |fi |}t	        |j
                  t         j                         t        || j                  d d        y )Nr   r   )r   r   r   r   s       r   
test_countzTestCount.test_count:  sP     TVV$==262X^^RXX.8T\\#2%67r   rn   c                 r   |dk  r|dz
  }n|}t        j                  | j                  d|      }t        j                  |d||      }t	        |j
                  t         j                         t        || j                  d |d | j                  j                  d   f          t        j                  | j                  d|      }t        j                  |d||      }t	        |j
                  t         j                         t        || j                  d | j                  j                  d   d |f          y )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_axiszTestCount.test_roundtrip_axisC  s     19QYFF++dff1x@MM'+35	Y__bhh/9dll7F7<LTVV\\!_<L3L&MN++dff1x@MM'+35	Y__bhh/9dll3CDFFLLO3CWfW3L&MNr   r=   )r;   r   r>   c                    t        j                  | j                  d      }t        j                  |fddi|}t	        |j
                  t         j                         |j                  dd      dk(  r7t        || j                  d dd | j                  j                  d   f          n@t        |d d dd d f   | j                  d dd | j                  j                  d   f          t        j                  | j                  d      }t        j                  |fddi|}t	        |j
                  t         j                         |j                  dd      dk(  r7t        || j                  d | j                  j                  d   d df          y t        |d d d d df   | j                  d | j                  j                  d   d df          y )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_countzTestCount.test_axis_countX  s|    ++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                    t        j                  | j                  d      }t        t        t         j
                  |dd       t        j                  | j                  d      }t        t        t         j
                  |dd       t        j                  | j                        }t        t        t         j
                  |d       y )Nr   r   r   )r   r   r   r   )r   )r   r   r   r   r   r   )r   r   r   r   s       r   test_bad_countzTestCount.test_bad_countp  sv    ++dff1-j"--qK++dff1-j"--qKTVV$j"--sCr   )__name__
__module____qualname__r   r   r   r   zerosr   ravelpadded1br   r   pytestmarkparametrizer   r   r   r   r   r    r   r   r   r     s    XX	A bhhr*G779GCRLrxx"((+HddGLLN((*HSbMbhhvRXX.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   