



'''simple docstring'''






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


A_							: Tuple						 =	{
    'configuration_ctrl': ['CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP', 'CTRLConfig'],
    'tokenization_ctrl': ['CTRLTokenizer'],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A_							: List[Any]						 =	[
       'CTRL_PRETRAINED_MODEL_ARCHIVE_LIST',
       'CTRLForSequenceClassification',
       'CTRLLMHeadModel',
       'CTRLModel',
       'CTRLPreTrainedModel',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A_							: Any						 =	[
       'TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST',
       'TFCTRLForSequenceClassification',
       'TFCTRLLMHeadModel',
       'TFCTRLModel',
       'TFCTRLPreTrainedModel',
   ]


if TYPE_CHECKING:
   from .configuration_ctrl import CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP, CTRLConfig
   from .tokenization_ctrl import CTRLTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_ctrl import (
          CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
          CTRLForSequenceClassification,
          CTRLLMHeadModel,
          CTRLModel,
          CTRLPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_ctrl import (
          TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFCTRLForSequenceClassification,
          TFCTRLLMHeadModel,
          TFCTRLModel,
          TFCTRLPreTrainedModel,
      )

else:
   import sys

   A_							: Dict						 =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




import pytest

import datasets.config
from datasets.utils.info_utils import is_small_dataset
@pytest.mark.parametrize('''dataset_size'''		,  [None, 400 * 2**20, 600 * 2**20]						)
@pytest.mark.parametrize('''input_in_memory_max_size'''		,  ['''default''', 0, 100 * 2**20, 900 * 2**20]						)
def       A	(    _lowercase		,  _lowercase		,  _lowercase						):
						if input_in_memory_max_size != "default":
												monkeypatch.setattr(datasets.config		,  '''IN_MEMORY_MAX_SIZE'''		,  _lowercase						)
						SCREAMING_SNAKE_CASE							:    Tuple							=							datasets.config.IN_MEMORY_MAX_SIZE
						if input_in_memory_max_size == "default":
												assert in_memory_max_size == 0
						else:
												assert in_memory_max_size == input_in_memory_max_size
						if dataset_size and in_memory_max_size:
												SCREAMING_SNAKE_CASE							:    str							=							dataset_size < in_memory_max_size
						else:
												SCREAMING_SNAKE_CASE							:    Union[str, Any]							=							False
						SCREAMING_SNAKE_CASE							:    Any							=							is_small_dataset(_lowercase						)
						assert result == expected





