Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from pydantic import BaseModel | |
from typing import List, Set | |
app = FastAPI() | |
class SetOperationInput(BaseModel): | |
set1: List[int] | |
set2: List[int] | |
set3: List[int] | |
class UniverseInput(BaseModel): | |
initial_value: int | |
step: int | |
num_steps: int | |
class ComplementInput(BaseModel): | |
universe: List[int] | |
target_set: List[int] | |
class InequalityInput(BaseModel): | |
inequality: str | |
def set_operations(input_data: SetOperationInput): | |
set1 = set(input_data.set1) | |
set2 = set(input_data.set2) | |
set3 = set(input_data.set3) | |
result = { | |
"union": list(set1.union(set2, set3)), | |
"intersection": list(set1.intersection(set2, set3)), | |
"difference": list(set1.difference(set2, set3)), | |
"symmetric_difference": list(set1.symmetric_difference(set2)) | |
} | |
return result | |
def generate_universe(input_data: UniverseInput): | |
initial_value = input_data.initial_value | |
step = input_data.step | |
num_steps = input_data.num_steps | |
universe_set = list(range(initial_value, initial_value + step * num_steps, step)) | |
return {"universe": universe_set} | |
def complement_operation(input_data: ComplementInput): | |
universe_set = set(input_data.universe) | |
target_set = set(input_data.target_set) | |
complement = list(universe_set.difference(target_set)) | |
return {"complement": complement} | |
def inequality_solver(input_data: InequalityInput): | |
x = symbols('x') | |
inequality = eval(input_data.inequality) | |
solution = solve(inequality, x) | |
return {"solution": str(solution)} | |
if __name__ == "__main__": | |
import uvicorn | |
uvicorn.run(app, host="0.0.0.0", port=7860) | |