



"""simple docstring"""






from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__snake_case							:     int   =					{
    'configuration_informer': [
        'INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'InformerConfig',
    ],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__snake_case							:     Union[str, Any]   =					[
	    'INFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'InformerForPrediction',
	    'InformerModel',
	    'InformerPreTrainedModel',
	]


if TYPE_CHECKING:
	from .configuration_informer import INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, InformerConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_informer import (
		    INFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
		    InformerForPrediction,
		    InformerModel,
		    InformerPreTrainedModel,
		)

else:
	import sys

	__snake_case							:     List[str]   =					_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




"""simple docstring"""






import math


def     _lowercase       (						__snake_case      ,__snake_case			)		->     float:
			return math.pow(__snake_case      ,2			) - a


def     _lowercase       (						__snake_case			)		->     float:
			return 2 * x


def     _lowercase       (						__snake_case			)		->     float:
			__lowerCAmelCase   :						List[str]				= 2.0

			while start <= a:
						__lowerCAmelCase   :						Union[str, Any]				= math.pow(__snake_case      ,2			)

			return start


def     _lowercase       (						__snake_case      ,__snake_case = 9_999      ,__snake_case = 0.00000000000001			)		->     float:

			if a < 0:
						raise ValueError("math domain error"			)

			__lowerCAmelCase   :						List[Any]				= get_initial_point(__snake_case			)

			for _ in range(__snake_case			):
						__lowerCAmelCase   :						Union[str, Any]				= value
						__lowerCAmelCase   :						List[str]				= value - fx(__snake_case      ,__snake_case			) / fx_derivative(__snake_case			)
						if abs(prev_value - value			) < tolerance:
									return value

			return value


if __name__ == "__main__":
	from doctest import testmod

	testmod()