





from typing import TYPE_CHECKING

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


UpperCamelCase__           =			{"configuration_fnet": ["FNET_PRETRAINED_CONFIG_ARCHIVE_MAP", "FNetConfig"]}

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

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

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCamelCase__           =			[
					    "FNET_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "FNetForMaskedLM",
					    "FNetForMultipleChoice",
					    "FNetForNextSentencePrediction",
					    "FNetForPreTraining",
					    "FNetForQuestionAnswering",
					    "FNetForSequenceClassification",
					    "FNetForTokenClassification",
					    "FNetLayer",
					    "FNetModel",
					    "FNetPreTrainedModel",
					]


if TYPE_CHECKING:
					from .configuration_fnet import FNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FNetConfig

					try:
										if not is_sentencepiece_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_fnet import FNetTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_fnet_fast import FNetTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_fnet import (
										    FNET_PRETRAINED_MODEL_ARCHIVE_LIST,
										    FNetForMaskedLM,
										    FNetForMultipleChoice,
										    FNetForNextSentencePrediction,
										    FNetForPreTraining,
										    FNetForQuestionAnswering,
										    FNetForSequenceClassification,
										    FNetForTokenClassification,
										    FNetLayer,
										    FNetModel,
										    FNetPreTrainedModel,
										)


else:
					import sys

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











from __future__ import annotations

from math import pi





def      _UpperCamelCase  (a__ :float ,      a__ :float ,      a__ :float							):






							"""simple docstring"""





							if (inductance, frequency, reactance).count(0							) != 1:
														raise ValueError("""One and only one argument must be 0"""							)
							if inductance < 0:
														raise ValueError("""Inductance cannot be negative"""							)
							if frequency < 0:
														raise ValueError("""Frequency cannot be negative"""							)
							if reactance < 0:
														raise ValueError("""Inductive reactance cannot be negative"""							)
							if inductance == 0:
														return {"inductance": reactance / (2 * pi * frequency)}
							elif frequency == 0:
														return {"frequency": reactance / (2 * pi * inductance)}
							elif reactance == 0:
														return {"reactance": 2 * pi * frequency * inductance}
							else:
														raise ValueError("""Exactly one argument must be 0"""							)


if __name__ == "__main__":
					import doctest

					doctest.testmod()




