Spaces:
Runtime error
Runtime error
import math | |
import gradio as gr | |
def inverse_trig_functions(value: float, function_name: str) -> str: | |
""" | |
Calculates inverse trigonometric functions (asin, acos, atan) in degrees. | |
Args: | |
value: The value to calculate the inverse trigonometric function for. | |
For asin and acos, must be between -1 and 1. | |
function_name: "asin", "acos", or "atan". | |
Returns: | |
A string representing the result in degrees, or an error message. | |
""" | |
if not isinstance(value, (int, float)): | |
return "Error: Input value must be a number." | |
func_name = function_name.lower() | |
result_rad = 0.0 | |
if func_name == "asin": | |
if -1 <= value <= 1: | |
result_rad = math.asin(value) | |
else: | |
return "Error: Input for asin must be between -1 and 1." | |
elif func_name == "acos": | |
if -1 <= value <= 1: | |
result_rad = math.acos(value) | |
else: | |
return "Error: Input for acos must be between -1 and 1." | |
elif func_name == "atan": | |
result_rad = math.atan(value) | |
else: | |
return "Error: Invalid function name. Choose 'asin', 'acos', or 'atan'." | |
return f"{math.degrees(result_rad):.4f} degrees" | |
inverse_trig_interface = gr.Interface( | |
fn=inverse_trig_functions, | |
inputs=[ | |
gr.Number(label="Value"), | |
gr.Radio(["asin", "acos", "atan"], label="Inverse Function") | |
], | |
outputs="text", | |
title="Inverse Trigonometry Calculator", | |
description="Calculate inverse trigonometric functions (asin, acos, atan) and get the result in degrees. For asin and acos, input must be between -1 and 1. Example: asin(0.5) = 30 degrees.", | |
examples=[ | |
[0.5, "asin"], | |
[0.5, "acos"], | |
[1, "atan"], | |
[-1, "asin"] | |
] | |
) | |