





'''simple docstring'''


def       __snake_case		( SCREAMING_SNAKE_CASE_ :			int )							->     list:

       """simple docstring"""


       if bit_count < 0:
              raise ValueError('''The given input must be positive''' )

       # get the generated string sequence
       UpperCAmelCase  =						gray_code_sequence_string(SCREAMING_SNAKE_CASE_ )
       #
       # convert them to integers
       for i in range(len(SCREAMING_SNAKE_CASE_ ) ):
              UpperCAmelCase  =						int(sequence[i]			,	2 )

       return sequence
def       __snake_case		( SCREAMING_SNAKE_CASE_ :			int )							->     list:

       """simple docstring"""


       if bit_count == 0:
              return ["0"]

       if bit_count == 1:
              return ["0", "1"]

       UpperCAmelCase  =						1 << bit_count  # defines the length of the sequence
       # 1<< n is equivalent to 2^n

       # recursive answer will generate answer for n-1 bits
       UpperCAmelCase  =						gray_code_sequence_string(bit_count - 1 )

       UpperCAmelCase  =						[]

       # append 0 to first half of the smaller sequence generated
       for i in range(seq_len // 2 ):
              UpperCAmelCase  =						'''0''' + smaller_sequence[i]
              sequence.append(SCREAMING_SNAKE_CASE_ )

       # append 1 to second half ... start from the end of the list
       for i in reversed(range(seq_len // 2 ) ):
              UpperCAmelCase  =						'''1''' + smaller_sequence[i]
              sequence.append(SCREAMING_SNAKE_CASE_ )

       return sequence


if __name__ == "__main__":
    import doctest

    doctest.testmod()






'''simple docstring'''
from .glue import glue_convert_examples_to_features, glue_output_modes, glue_processors, glue_tasks_num_labels
from .squad import SquadExample, SquadFeatures, SquadVaProcessor, SquadVaProcessor, squad_convert_examples_to_features
from .utils import DataProcessor, InputExample, InputFeatures, SingleSentenceClassificationProcessor
from .xnli import xnli_output_modes, xnli_processors, xnli_tasks_num_labels