


"""simple docstring"""







from typing import TYPE_CHECKING

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


__a			 =   {'configuration_vilt': ['VILT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ViltConfig']}

try:
						if not is_vision_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__a			 =   ['ViltFeatureExtractor']
						__a			 =   ['ViltImageProcessor']
						__a			 =   ['ViltProcessor']

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__a			 =   [
						    'VILT_PRETRAINED_MODEL_ARCHIVE_LIST',
						    'ViltForImageAndTextRetrieval',
						    'ViltForImagesAndTextClassification',
						    'ViltForTokenClassification',
						    'ViltForMaskedLM',
						    'ViltForQuestionAnswering',
						    'ViltLayer',
						    'ViltModel',
						    'ViltPreTrainedModel',
						]


if TYPE_CHECKING:
						from .configuration_vilt import VILT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViltConfig

						try:
												if not is_vision_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .feature_extraction_vilt import ViltFeatureExtractor
												from .image_processing_vilt import ViltImageProcessor
												from .processing_vilt import ViltProcessor

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_vilt import (
												    VILT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    ViltForImageAndTextRetrieval,
												    ViltForImagesAndTextClassification,
												    ViltForMaskedLM,
												    ViltForQuestionAnswering,
												    ViltForTokenClassification,
												    ViltLayer,
												    ViltModel,
												    ViltPreTrainedModel,
												)


else:
						import sys

						__a			 =   _LazyModule(__name__, globals()["__file__"], _import_structure)



"""simple docstring"""







from __future__ import annotations

from collections.abc import Callable






def 					a__ (       _UpperCamelCase	,			_UpperCamelCase	,			_UpperCamelCase	,			_UpperCamelCase = 100	,			):





						"""simple docstring"""

						UpperCAmelCase__		=    x_start
						UpperCAmelCase__		=    fnc(_UpperCamelCase )
						UpperCAmelCase__		=    0.0

						for _ in range(_UpperCamelCase ):
												# Approximates small segments of curve as linear and solve
												# for trapezoidal area
												UpperCAmelCase__		=    (x_end - x_start) / steps + xa
												UpperCAmelCase__		=    fnc(_UpperCamelCase )
												area += abs(fxa + fxa ) * (xa - xa) / 2

												# Increment step
												UpperCAmelCase__		=    xa
												UpperCAmelCase__		=    fxa
						return area


if __name__ == "__main__":






						def 					a__ (       _UpperCamelCase ):





												"""simple docstring"""

												return x**3

						print("f(x) = x^3")
						print("The area between the curve, x = -10, x = 10 and the x axis is:")
						__a			 =   10
						while i <= 10_00_00:
												__a			 =   trapezoidal_area(f, -5, 5, i)
												print(f'''with {i} steps: {area}''')
												i *= 10