





from __future__ import annotations

from collections.abc import Callable
def     A__					(						SCREAMING_SNAKE_CASE_      :			Callable[[int | float], int | float]							,  SCREAMING_SNAKE_CASE_      :			int | float							,  SCREAMING_SNAKE_CASE_      :			int | float							,  SCREAMING_SNAKE_CASE_      :			int = 1_00							,  )     ->     float:






   """simple docstring"""







   _UpperCAmelCase											=      x_start
   _UpperCAmelCase											=      fnc(SCREAMING_SNAKE_CASE_	)
   _UpperCAmelCase											=      0.0

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

      # Increment step
      _UpperCAmelCase											=      xa
      _UpperCAmelCase											=      fxa
   return area


if __name__ == "__main__":
   def     A__					(						SCREAMING_SNAKE_CASE_      :			Optional[int]	)     ->     Union[str, Any]:






      """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:")
   UpperCAmelCase_											=  10
   while i <= 10_00_00:
      UpperCAmelCase_											=  trapezoidal_area(f, -5, 5, i)
      print(f'''with {i} steps: {area}''')
      i *= 10






from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCAmelCase_											=  logging.get_logger(__name__)

UpperCAmelCase_											=  {
    "tau/splinter-base": "https://huggingface.co/tau/splinter-base/resolve/main/config.json",
    "tau/splinter-base-qass": "https://huggingface.co/tau/splinter-base-qass/resolve/main/config.json",
    "tau/splinter-large": "https://huggingface.co/tau/splinter-large/resolve/main/config.json",
    "tau/splinter-large-qass": "https://huggingface.co/tau/splinter-large-qass/resolve/main/config.json",
    # See all Splinter models at https://huggingface.co/models?filter=splinter
}




class  __UpperCamelCase						(       A__						):
     __A  :     Tuple            =      """splinter"""





     def __init__(    self							,       _UpperCamelCase=30522							,       _UpperCamelCase=768							,       _UpperCamelCase=12							,       _UpperCamelCase=12							,       _UpperCamelCase=3072							,       _UpperCamelCase="gelu"							,       _UpperCamelCase=0.1							,       _UpperCamelCase=0.1							,       _UpperCamelCase=512							,       _UpperCamelCase=2							,       _UpperCamelCase=0.02							,       _UpperCamelCase=1e-12							,       _UpperCamelCase=True							,       _UpperCamelCase=0							,       _UpperCamelCase=104							,       **_UpperCamelCase							,       ):
        super().__init__(pad_token_id=_UpperCamelCase							,       **_UpperCamelCase				)

        _UpperCAmelCase											=      vocab_size
        _UpperCAmelCase											=      max_position_embeddings
        _UpperCAmelCase											=      hidden_size
        _UpperCAmelCase											=      num_hidden_layers
        _UpperCAmelCase											=      num_attention_heads
        _UpperCAmelCase											=      intermediate_size
        _UpperCAmelCase											=      hidden_act
        _UpperCAmelCase											=      hidden_dropout_prob
        _UpperCAmelCase											=      attention_probs_dropout_prob
        _UpperCAmelCase											=      initializer_range
        _UpperCAmelCase											=      type_vocab_size
        _UpperCAmelCase											=      layer_norm_eps
        _UpperCAmelCase											=      use_cache
        _UpperCAmelCase											=      question_token_id