|
import gradio as gr |
|
import math |
|
|
|
def calculator(num1, operation, num2=None): |
|
if operation == "add": |
|
return num1 + num2 |
|
elif operation == "subtract": |
|
return num1 - num2 |
|
elif operation == "multiply": |
|
return num1 * num2 |
|
elif operation == "divide": |
|
return num1 / num2 |
|
elif operation == "square": |
|
return num1 * num1 |
|
elif operation == "cube": |
|
return num1 * num1 * num1 |
|
elif operation == "exponential": |
|
return math.pow(num1, num2) |
|
elif operation == "sin": |
|
return math.sin(num1) |
|
elif operation == "cos": |
|
return math.cos(num1) |
|
elif operation == "tan": |
|
return math.tan(num1) |
|
elif operation == "sqrt": |
|
return math.sqrt(num1) |
|
elif operation == "sinh": |
|
return math.sinh(num1) |
|
elif operation == "cosh": |
|
return math.cosh(num1) |
|
elif operation == "tanh": |
|
return math.tanh(num1) |
|
|
|
demo = gr.Interface( |
|
fn=calculator, |
|
inputs=[ |
|
gr.Number(value=4), |
|
gr.Radio(["add", "subtract", "multiply", "divide", "square", "cube", "exponential", "sin", "cos", "tan", "sqrt", "sinh", "cosh", "tanh"]), |
|
gr.Number(value=2, label="Second Number (optional)", optional=True) |
|
], |
|
outputs="number", |
|
examples=[ |
|
[5, "add", 3], |
|
[4, "divide", 2], |
|
[-4, "multiply", 2.5], |
|
[0, "subtract", 1.2], |
|
[2, "exponential", 3], |
|
[1.5, "sin"], |
|
[2.3, "cos"], |
|
[0.8, "tan"], |
|
[9, "sqrt"], |
|
[1.2, "sinh"], |
|
[2.1, "cosh"], |
|
[0.7, "tanh"] |
|
], |
|
title="Scientific Calculator", |
|
description="Here's a sample scientific calculator. Enjoy! Code by: Freddy Aboulton Improved by: Usually3" |
|
) |
|
|
|
demo.launch() |
|
|