
    \h
                     <    S SK JrJrJrJrJrJr  S SKJr  S r	S r
g)    )GrayCodebin_to_grayrandom_bitstringget_subset_from_bitstringgraycode_subsetsgray_to_bin)raisesc            	         [        S5      n / nU R                  5        H:  nUR                  S5      (       a  U R                  5         UR	                  U5        M<     USR                  5       :X  d   e[        S5      nUR                  S:X  d   eUR                  S:X  d   e[        [        UR                  5       5      5      S:X  d   e/ SQn[        UR                  S	S
95      U:X  d   e[        UR                  [        SS	S
9R                  S95      U:X  d   eUR                  5       R                  S:X  d   eUR                  S5      R                  S:X  d   eUR                  S5      R                  S:X  d   e[        SSS
9nUR                  S:X  d   e[        SSS
9nUR                  S:X  d   e[        SSS9R                  S:X  d   e[        SSS9R                  S:X  d   e[        S5      R                  5        Vs/ s H  n[        SUS
9R                  PM     sn/ SQ:X  d   e[        SSS9nUR                  S:X  d   e[        S5      S:X  d   e[        S5      n[        U5      [        L d   e[        U5      S:X  d   e[        S U 5       5      (       d   e[!        / SQS5      SS /:X  d   e[!        S!S"5      S#S /:X  d   e[        [#        / S$Q5      5      / S/S%S/S%/S#S%// S$QS#S/S#//:X  d   e[%        [&        S& 5        [%        [&        S' 5        [%        [&        S( 5        [%        [&        S) 5        [%        [&        S* 5        [%        [&        S+ 5        g s  snf ),N   0z00 11 10   000000r   @   )/011001011011011010011110011111011101011100010100010101010111010110010010010011010001010000110000110001110011110010110110110111110101110100111100111101111111111110111010111011111001111000101000101001101011101010101110101111101101101100100100100101100111100110100010100011100001100000r   startrank000001000011r>      10010   r/   0      000110)r      r      rJ   rF   r         	   
                  rV   000000000001000111100c              3   *   #    U  H	  oS ;   v   M     g7f))r   1N ).0is     _/var/www/auris/envauris/lib/python3.13/site-packages/sympy/combinatorics/tests/test_graycode.py	<genexpr> test_graycode.<locals>.<genexpr>3   s     *1Js   )abcd0011rd   re   abcd1001rb   )rb   rc   rd   rc   c                      [        S5      $ )Nr   r   r\       r_   <lambda>test_graycode.<locals>.<lambda><   s    x{rk   c                      [        S5      $ )Ng@rj   r\   rk   r_   rl   rm   =   s    x}rk   c                      [        S/ SQS9$ )Nr   )rL   rL   r   r?   rj   r\   rk   r_   rl   rm   >   s    x;rk   c                      [        SSS9$ )Nr   g      @rA   rj   r\   rk   r_   rl   rm   ?   s    x4rk   c                      [        / SQS5      $ )N)rd   rb   rd   1100)r   r\   rk   r_   rl   rm   @   s    8&Qrk   c                  D    [        [        S5      R                  SS95      $ )NrM   1111r?   )listr   generate_grayr\   rk   r_   rl   rm   A   s    tHQK$=$=F$=$KLrk   )r   rv   
startswithskipappendsplitcurrentrB   lenru   nextr   r   typestrallr   r   r	   
ValueError)ggotr^   rb   codesss         r_   test_graycoder      sT   A
C__<<FFH

1  *""$$$$A9966Q;;tAOO%&'2---E h/0E999	Xax8==>@CHI I I668x'''66!9(((66":)))'"A66R<<(#A66R<<AA&&(222AA##q(((QK%%')' +,HQa %%')-HH H H 	"A99))))u&&&A7c>>q6Q;;******$f&*-s4 4 4$VV4c
BBB 12	cUS#JSz?
scU	   :*+
:,-
:;<
:45
:QR
:LM3)s   M#c                      [        S5      S:X  d   e[        S5      S:X  d   eS H  n [        [        U 5      5      U :X  a  M   e   g )N0100011001010111)r   r   )r   r   )bitss    r_   test_live_issue_117r   D   sJ    v&(((v&((( ;t,-555 !rk   N)sympy.combinatorics.graycoder   r   r   r   r   r   sympy.testing.pytestr	   r   r   r\   rk   r_   <module>r      s      (;N|6rk   