
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


_UpperCAmelCase      :				Dict          = {
    "configuration_falcon": ["FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP", "FalconConfig"],
}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase      :				List[str]          = [
					    "FALCON_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "FalconForCausalLM",
					    "FalconModel",
					    "FalconPreTrainedModel",
					    "FalconForSequenceClassification",
					    "FalconForTokenClassification",
					    "FalconForQuestionAnswering",
					]


if TYPE_CHECKING:
					from .configuration_falcon import FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP, FalconConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_falcon import (
										    FALCON_PRETRAINED_MODEL_ARCHIVE_LIST,
										    FalconForCausalLM,
										    FalconForQuestionAnswering,
										    FalconForSequenceClassification,
										    FalconForTokenClassification,
										    FalconModel,
										    FalconPreTrainedModel,
										)


else:
					import sys

					_UpperCAmelCase      :				Tuple          = _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				)     ->						Union[str, Any]:
		'''simple docstring'''

		if input_in_memory_max_size != "default":
				monkeypatch.setattr(datasets.config					, 'IN_MEMORY_MAX_SIZE'					, lowercase				)
		UpperCamelCase						=  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:
				UpperCamelCase						=  dataset_size < in_memory_max_size
		else:
				UpperCamelCase						=  False
		UpperCamelCase						=  is_small_dataset(lowercase				)
		assert result == expected
