
    g
                     >    d dl mZmZmZmZmZmZ d dlmZ d Z	d Z
dS )    )GrayCodebin_to_grayrandom_bitstringget_subset_from_bitstringgraycode_subsetsgray_to_bin)raisesc            	         t          d          } g }|                                 D ]@}|                    d          r|                                  |                    |           A|d                                k    sJ t          d          }|j        dk    sJ |j        dk    sJ t          t          |                                                    dk    sJ g d}t          |                    d	
                    |k    sJ t          |                    t          dd	
          j                            |k    sJ |
                                j        dk    sJ |
                    d          j        dk    sJ |
                    d          j        dk    sJ t          dd
          }|j        dk    sJ t          dd
          }|j        dk    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ d t          d                                          D             g dk    sJ t          dd          }|j        dk    sJ t          d          dk    sJ t          d          }t          |          t          u sJ t          |          dk    sJ t          d |D                       sJ t!          g dd          d d!gk    sJ t!          d"d#          d$d!gk    sJ t          t#          g d%                    g d gd&d gd&gd$d&gg d%d$d gd$ggk    sJ t%          t&          d'            t%          t&          d(            t%          t&          d)            t%          t&          d*            t%          t&          d+            t%          t&          d,            d S )-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      000110c                 :    g | ]}t          d |          j        S )rJ   r?   )r   rB   ).0ss     c/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/combinatorics/tests/test_graycode.py
<listcomp>z!test_graycode.<locals>.<listcomp>(   s4     ) ) )!HQa   % ) ) )    )r      r      rJ   rF   r         	   
                  r\   000000000001000111100c              3      K   | ]}|d v V  	dS ))r   1N )rM   is     rO   	<genexpr>z test_graycode.<locals>.<genexpr>3   s&      **1qJ******rQ   )abcd0011rg   rh   abcd1001re   )re   rf   rg   rf   c                       t          d          S )Nr   r   rb   rQ   rO   <lambda>ztest_graycode.<locals>.<lambda><   s    x{{ rQ   c                       t          d          S )Ng@rm   rb   rQ   rO   rn   ztest_graycode.<locals>.<lambda>=   s    x}} rQ   c                  (    t          dg d          S )Nr   )rR   rR   r   r?   rm   rb   rQ   rO   rn   ztest_graycode.<locals>.<lambda>>   s    x;;; rQ   c                  $    t          dd          S )Nr   g      @rA   rm   rb   rQ   rO   rn   ztest_graycode.<locals>.<lambda>?   s    x444 rQ   c                  &    t          g dd          S )N)rg   re   rg   1100)r   rb   rQ   rO   rn   ztest_graycode.<locals>.<lambda>@   s    8&QQ rQ   c                  b    t          t          d                              d                    S )NrS   1111r?   )listr   generate_grayrb   rQ   rO   rn   ztest_graycode.<locals>.<lambda>A   s%    tHQKK$=$=F$=$K$KLL rQ   )r   rw   
startswithskipappendsplitcurrentrB   lenrv   nextr   r   typestrallr   r   r	   
ValueError)ggotrc   re   codess        rO   test_graycoder      sM   A
C__  << 	FFHHH

1*""$$$$$$A96Q;;;;tAOO%%&&''2----  E h//00E9999	Xax888=>>@ @CHI I I I6688x''''66!99((((66"::))))'"""A6R<<<<(###A6R<<<<AA&(2222AA#q(((() )QKK%%'') ) )-H -H -HH H H H 	"A9)))))u&&&&A77c>>>>q66Q;;;;**********$f& &*-s4 4 4 4$VV44c
BBBB 1122	cUS#JSz???
scU	    :**+++
:,,---
:;;<<<
:44555
:QQRRR
:LLMMMMMrQ   c                      t          d          dk    sJ t          d          dk    sJ dD ]$} t          t          |                     | k    sJ %d S )N0100011001010111)r   r   )r   r   )bitss    rO   test_live_issue_117r   D   sq    v&((((v&((((  6 6;t,,--555556 6rQ   N)sympy.combinatorics.graycoder   r   r   r   r   r   sympy.testing.pytestr	   r   r   rb   rQ   rO   <module>r      s                   ( ' ' ' ' ';N ;N ;N|6 6 6 6 6rQ   