



"""simple docstring"""





from __future__ import annotations

from decimal import Decimal
from math import *  # noqa: F403

from sympy import diff
def        a__     (				lowerCAmelCase__     ,      lowerCAmelCase__     ,      lowerCAmelCase__ = 10**-10				):
      UpperCAmelCase_      			=							a
      while True:
            UpperCAmelCase_      			=							Decimal(lowerCAmelCase__				) - (
                Decimal(eval(lowerCAmelCase__				)				) / Decimal(eval(str(diff(lowerCAmelCase__				)				)				)				)  # noqa: S307
            )
            # This number dictates the accuracy of the answer
            if abs(eval(lowerCAmelCase__				)				) < precision:  # noqa: S307
                  return float(lowerCAmelCase__				)


# Let's Execute
if __name__ == "__main__":
  # Find root of trigonometric function
  # Find value of pi
  print(F"The root of sin(x) = 0 is {newton_raphson('sin(x)', 2)}")
  # Find root of polynomial
  print(F"The root of x**2 - 5*x + 2 = 0 is {newton_raphson('x**2 - 5*x + 2', 0.4)}")
  # Find Square Root of 5
  print(F"The root of log(x) - 1 = 0 is {newton_raphson('log(x) - 1', 2)}")
  # Exponential Roots
  print(F"The root of exp(x) - 1 = 0 is {newton_raphson('exp(x) - 1', 0)}")









"""simple docstring"""





from maths.prime_check import is_prime
def        a__     (				lowerCAmelCase__				):
      if not isinstance(lowerCAmelCase__     ,      lowerCAmelCase__				):
            UpperCAmelCase_      			=							f"""Input value of [number={number}] must be an integer"""
            raise TypeError(lowerCAmelCase__				)
      if is_prime(lowerCAmelCase__				) and is_prime(number + 2				):
            return number + 2
      else:
            return -1


if __name__ == "__main__":
  import doctest

  doctest.testmod()




