Prasanthkumar's picture
Upload 4 files
f64893d verified
from langchain_core.tools import tool
import cmath
import math
@tool
def add(a: int, b: int) -> int:
"""
Adds two numbers.
Args:
a (integer): the first number
b (integer): the second number
"""
return a + b
@tool
def sub(a: int, b: int) -> int:
"""
Subracts two numbers.
Args:
a (integer): the first number
b (integer): the second number
"""
return a - b
@tool
def mul(a: int, b: int) -> int:
"""
multiplies two numbers.
Args:
a (integer): the first number
b (integer): the second number
"""
return a * b
@tool
def div(a: int, b: int) -> float:
"""
divides two numbers and gave float as a result
Args:
a (integer): the first number
b (integer): the second number
"""
return a / b
@tool
def floor_div(a: int, b: int) -> int:
"""
divides two numbers and gave integr as a result
Args:
a (integer): the first number
b (integer): the second number
"""
return a // b
@tool
def square(a: int) -> int:
"""
returns square of the number
Args:
a (integer): the number
"""
return a * a
@tool
def mod(a: int, b: int) -> int:
"""
Modulus of two numbers.
Args:
a (integer): the first number
b (integer): the second number
"""
return a % b
@tool
def pow(a: int, b: int) -> int:
"""
Get the power of two numbers
Args:
a (integer): the first number
b (integer): the second number
"""
return a ** b
@tool
def square_root(a: int):
"""
Square root of the number
Args:
a (integer): the number
"""
if a < 0:
return cmath.sqrt(a)
else:
return a ** 0.5
@tool
def absolute(a: int) -> int:
"""
returns absolute value of the number
Args:
a (integer): the number
"""
return a if a >= 0 else -a
@tool
def gcd(a: int, b: int) -> int:
"""
returns gcd of two numbers using recursion
Args:
a (integer): the first number
b (integer): the second number
"""
if b == 0:
return a
return gcd(b, a % b)
@tool
def lcm(a: int, b: int) -> int:
"""
returns lcm of two numbers
Args:
a (integer): the first number
b (integer): the second number
"""
return absolute(a * b) // gcd(a, b)
@tool
def factorial(a: int) -> int:
"""
returns factorial of a number
Args:
a (integer): the number
"""
if a <= 1:
return 1
return a * factorial(a - 1)