






from typing import Callable, Optional

from .. import Features
from ..packaged_modules.generator.generator import Generator
from .abc import AbstractDatasetInputStream






class 		lowercase_					(	lowercase   ):






      '''simple docstring'''




      def __init__(      self      :						Optional[Any] ,					__UpperCAmelCase      :						Callable ,					__UpperCAmelCase      :						Optional[Features] = None ,					__UpperCAmelCase      :						str = None ,					__UpperCAmelCase      :						bool = False ,					__UpperCAmelCase      :						bool = False ,					__UpperCAmelCase      :						Optional[dict] = None ,					__UpperCAmelCase      :						Optional[int] = None ,					**__UpperCAmelCase      :						Dict ,					)    ->List[Any]:




       """simple docstring"""


       super().__init__(
           features=__UpperCAmelCase ,					cache_dir=__UpperCAmelCase ,					keep_in_memory=__UpperCAmelCase ,					streaming=__UpperCAmelCase ,					num_proc=__UpperCAmelCase ,					**__UpperCAmelCase ,					)
       a		  =      Generator(
           cache_dir=__UpperCAmelCase ,					features=__UpperCAmelCase ,					generator=__UpperCAmelCase ,					gen_kwargs=__UpperCAmelCase ,					**__UpperCAmelCase ,					)







      def       __lowerCAmelCase					(      self      :						List[Any]  )    ->Tuple:




       """simple docstring"""


       if self.streaming:
        a		  =      self.builder.as_streaming_dataset(split='''train'''  )
       # Build regular (map-style) dataset
       else:
        a		  =      None
        a		  =      None
        a		  =      None
        a		  =      None

        self.builder.download_and_prepare(
            download_config=__UpperCAmelCase ,					download_mode=__UpperCAmelCase ,					verification_mode=__UpperCAmelCase ,					base_path=__UpperCAmelCase ,					num_proc=self.num_proc ,					)
        a		  =      self.builder.as_dataset(
            split='''train''' ,					verification_mode=__UpperCAmelCase ,					in_memory=self.keep_in_memory  )
       return dataset







'''simple docstring'''




def       __lowerCamelCase  (					_lowercase	,				_lowercase		)      ->			int:
							if b == 0:
														return 1
							if (b % 2) == 0:
														return actual_power(_lowercase	,				int(b / 2		)		) * actual_power(_lowercase	,				int(b / 2		)		)
							else:
														return a * actual_power(_lowercase	,				int(b / 2		)		) * actual_power(_lowercase	,				int(b / 2		)		)



def       __lowerCamelCase  (					_lowercase	,				_lowercase		)      ->			float:
							if b < 0:
														return 1 / actual_power(_lowercase	,				_lowercase		)
							return actual_power(_lowercase	,				_lowercase		)


if __name__ == "__main__":
							print(power(-2, -3))

