




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__SCREAMING_SNAKE_CASE 						={"""configuration_xlnet""": ["""XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """XLNetConfig"""]}

try:
					if not is_sentencepiece_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE 						=["""XLNetTokenizer"""]

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE 						=["""XLNetTokenizerFast"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE 						=[
					    """XLNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """XLNetForMultipleChoice""",
					    """XLNetForQuestionAnswering""",
					    """XLNetForQuestionAnsweringSimple""",
					    """XLNetForSequenceClassification""",
					    """XLNetForTokenClassification""",
					    """XLNetLMHeadModel""",
					    """XLNetModel""",
					    """XLNetPreTrainedModel""",
					    """load_tf_weights_in_xlnet""",
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					__SCREAMING_SNAKE_CASE 						=[
					    """TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFXLNetForMultipleChoice""",
					    """TFXLNetForQuestionAnsweringSimple""",
					    """TFXLNetForSequenceClassification""",
					    """TFXLNetForTokenClassification""",
					    """TFXLNetLMHeadModel""",
					    """TFXLNetMainLayer""",
					    """TFXLNetModel""",
					    """TFXLNetPreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_xlnet import XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLNetConfig

					try:
										if not is_sentencepiece_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_xlnet import XLNetTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_xlnet_fast import XLNetTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_xlnet import (
										    XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
										    XLNetForMultipleChoice,
										    XLNetForQuestionAnswering,
										    XLNetForQuestionAnsweringSimple,
										    XLNetForSequenceClassification,
										    XLNetForTokenClassification,
										    XLNetLMHeadModel,
										    XLNetModel,
										    XLNetPreTrainedModel,
										    load_tf_weights_in_xlnet,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_xlnet import (
										    TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFXLNetForMultipleChoice,
										    TFXLNetForQuestionAnsweringSimple,
										    TFXLNetForSequenceClassification,
										    TFXLNetForTokenClassification,
										    TFXLNetLMHeadModel,
										    TFXLNetMainLayer,
										    TFXLNetModel,
										    TFXLNetPreTrainedModel,
										)

else:
					import sys

					__SCREAMING_SNAKE_CASE 						=_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)








from __future__ import annotations

from math import pi

# Define the Reduced Planck Constant ℏ (H bar), speed of light C, value of
# Pi and the function
__SCREAMING_SNAKE_CASE 						=1.0_5_4_5_7_1_8_1_7e-3_4  # unit of ℏ : J * s

__SCREAMING_SNAKE_CASE 						=3e8  # unit of c : m * s^-1

def 			a   (_lowerCAmelCase  ,    _lowerCAmelCase  ,    _lowerCAmelCase     ):

							if (force, area, distance).count(0     ) != 1:
														raise ValueError('''One and only one argument must be 0'''     )
							if force < 0:
														raise ValueError('''Magnitude of force can not be negative'''     )
							if distance < 0:
														raise ValueError('''Distance can not be negative'''     )
							if area < 0:
														raise ValueError('''Area can not be negative'''     )
							if force == 0:
														SCREAMING_SNAKE_CASE_   	=    (REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2 * area) / (
														    2_4_0 * (distance) ** 4
														)
														return {"force": force}
							elif area == 0:
														SCREAMING_SNAKE_CASE_   	=    (2_4_0 * force * (distance) ** 4) / (
														    REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2
														)
														return {"area": area}
							elif distance == 0:
														SCREAMING_SNAKE_CASE_   	=    (
														    (REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2 * area) / (2_4_0 * force)
														) ** (1 / 4)
														return {"distance": distance}
							raise ValueError('''One and only one argument must be 0'''     )


# Run doctest
if __name__ == "__main__":
			import doctest

			doctest.testmod()


