




import json
import os
from dataclasses import dataclass

import numpy as np
import pyarrow as pa

import datasets
from utils import get_duration


UpperCamelCase__						=		1_0_0_0_0_0_0_0_0_0_0_0
UpperCamelCase__						=		1_0_0_0_0

UpperCamelCase__			,					UpperCamelCase__						=		os.path.split(__file__)
UpperCamelCase__						=		os.path.join(RESULTS_BASEPATH, 'results', RESULTS_FILENAME.replace('.py', '.json'))






def    snake_case   (				A		,  A     )				->				datasets.Dataset:




	'''simple docstring'''


	lowerCamelCase_				:						int				  =				pa.Table.from_pydict({'col': [0] * chunk_size}     )
	lowerCamelCase_				:						Tuple				  =				pa.concat_tables([table] * (num_examples // chunk_size)     )
	return datasets.Dataset(A		,  fingerprint='table_100B'     )


@dataclass
class 							__SCREAMING_SNAKE_CASE				:
					_lowerCamelCase						    =					42
					_lowerCamelCase						    =					42
					_lowerCamelCase						    =					42
					_lowerCamelCase						    =					42

					def       lowercase_				(							self   ):







						'''simple docstring'''




						lowerCamelCase_				:						Dict				  =				np.random.default_rng(self.seed   )
						lowerCamelCase_				:						str				  =				rng.integers(low=self.low					,			high=self.high					,			size=self.size   ).tolist()

					def __iter__(							self   ):







						'''simple docstring'''




						return iter(self._sampled_values   )





					def __len__(							self   ):







						'''simple docstring'''




						return self.size






@get_duration
def    snake_case   (				A     )				->				Tuple:




	'''simple docstring'''


	lowerCamelCase_				:						int				  =				dataset[0]






@get_duration
def    snake_case   (				A     )				->				Dict:




	'''simple docstring'''


	lowerCamelCase_				:						List[Any]				  =				dataset[-1]






@get_duration
def    snake_case   (				A     )				->				List[Any]:




	'''simple docstring'''


	lowerCamelCase_				:						str				  =				dataset[range(len(A     ) // 2		,  len(A     ) // 2 + 1024     )]






@get_duration
def    snake_case   (				A     )				->				Union[str, Any]:




	'''simple docstring'''


	lowerCamelCase_				:						Any				  =				dataset[RandIter(0		,  len(A     )		,  1024		,  seed=42     )]






def    snake_case   (				)				->				Optional[int]:




	'''simple docstring'''


	lowerCamelCase_				:						Optional[int]				  =				{'num examples': SPEED_TEST_N_EXAMPLES}
	lowerCamelCase_				:						Optional[int]				  =				(get_first_row, get_last_row, get_batch_of_aaaa_rows, get_batch_of_aaaa_random_rows)
	print('generating dataset'     )
	lowerCamelCase_				:						Tuple				  =				generate_100B_dataset(num_examples=A		,  chunk_size=A     )
	print('Functions'     )
	for func in functions:
		print(func.__name__     )
		lowerCamelCase_				:						Optional[Any]				  =				func(A     )

	with open(A		,  'wb'     ) as f:
		f.write(json.dumps(A     ).encode('utf-8'     )     )


if __name__ == "__main__":  # useful to run the profiler
							benchmark_table_100B()



def _a					(			SCREAMING_SNAKE_CASE						:     str						)       ->       str:

 """simple docstring"""






 return "".join(chr(ord(SCREAMING_SNAKE_CASE						) + 32						) if 'A' <= char <= 'Z' else char for char in word						)


if __name__ == "__main__":
  from doctest import testmod

  testmod()





