



"""simple docstring"""





from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike
class    lowercase__     (					SCREAMING_SNAKE_CASE   ):







       '''simple docstring'''


       def __init__(							self    :						List[str]	,       _UpperCAmelCase    :						Union[str, Any] = None	,       _UpperCAmelCase    :						Optional[Any] = None	,       _UpperCAmelCase    :						Tuple = None	,       _UpperCAmelCase    :						Any = None	,       _UpperCAmelCase    :						Dict = False	,       _UpperCAmelCase    :						str = False	,       _UpperCAmelCase    :						Optional[int] = None	,       **_UpperCAmelCase    :						Union[str, Any]	,       )				->		Union[str, Any]:


             '''simple docstring'''




             UpperCAmelCase_    				=							path_or_paths
             UpperCAmelCase_    				=							split if split or isinstance(_UpperCAmelCase	,       _UpperCAmelCase					) else "train"
             UpperCAmelCase_    				=							features
             UpperCAmelCase_    				=							cache_dir
             UpperCAmelCase_    				=							keep_in_memory
             UpperCAmelCase_    				=							streaming
             UpperCAmelCase_    				=							num_proc
             UpperCAmelCase_    				=							kwargs







       @abstractmethod
       def   lowercase__       (							self    :						Optional[Any]					)				->		Union[str, Any]:


             '''simple docstring'''




             pass



class    lowercase__     (					SCREAMING_SNAKE_CASE   ):







       '''simple docstring'''


       def __init__(							self    :						List[Any]	,       _UpperCAmelCase    :						Tuple = None	,       _UpperCAmelCase    :						Union[str, Any] = None	,       _UpperCAmelCase    :						Union[str, Any] = False	,       _UpperCAmelCase    :						Dict = False	,       _UpperCAmelCase    :						List[str] = None	,       **_UpperCAmelCase    :						str	,       )				->		Tuple:


             '''simple docstring'''




             UpperCAmelCase_    				=							features
             UpperCAmelCase_    				=							cache_dir
             UpperCAmelCase_    				=							keep_in_memory
             UpperCAmelCase_    				=							streaming
             UpperCAmelCase_    				=							num_proc
             UpperCAmelCase_    				=							kwargs







       @abstractmethod
       def   lowercase__       (							self    :						int					)				->		Optional[int]:


             '''simple docstring'''




             pass









"""simple docstring"""





lowerCamelCase      =		{
    "joule": 1.0,
    "kilojoule": 1_000,
    "megajoule": 1_000_000,
    "gigajoule": 1_000_000_000,
    "wattsecond": 1.0,
    "watthour": 3_600,
    "kilowatthour": 3_600_000,
    "newtonmeter": 1.0,
    "calorie_nutr": 4_186.8,
    "kilocalorie_nutr": 4_186_800.00,
    "electronvolt": 1.6_0_2_1_7_6_6_3_4e-1_9,
    "britishthermalunit_it": 1_055.05_585,
    "footpound": 1.355_818,
}
def      a__			(   lowerCAmelCase__			,    lowerCAmelCase__			,    lowerCAmelCase__   ):
      if to_type not in ENERGY_CONVERSION or from_type not in ENERGY_CONVERSION:
            UpperCAmelCase_    				=							(
                f"""Incorrect 'from_type' or 'to_type' value: {from_type!r}, {to_type!r}\n"""
                f"""Valid values are: {', '.join(lowerCAmelCase__   )}"""
            )
            raise ValueError(lowerCAmelCase__   )
      return value * ENERGY_CONVERSION[from_type] / ENERGY_CONVERSION[to_type]


if __name__ == "__main__":
  import doctest

  doctest.testmod()




