Source code for qsimov_cloud_client.utils

# -*- coding: utf-8 -*-
import sympy as sp


[docs]def parse_number(number): """Parse a string representation of a number into a Sympy Rational number or a float infinite number. Args: number (str): The string representation of the number to be parsed. Returns: Union[sp.Rational, float]: The parsed numerical value. Raises: ValueError: If the input is not a valid number representation. """ number = str(number) if number.lower() == "nan" or number == "0/0": return sp.Rational(0, 0) elif number.lower() == "inf": return float('inf') else: return sp.Rational(number)