def value_of(
            self,
            value: Union[sympy.Basic, float, str]
    ) -> Union[sympy.Basic, float]:
        """Attempt to resolve a Symbol or name or float to its assigned value.

        If unable to resolve a sympy.Symbol, returns it unchanged.
        If unable to resolve a name, returns a sympy.Symbol with that name.

        Args:
            value: The sympy.Symbol or name or float to try to resolve into just
                a float.

        Returns:
            The value of the parameter as resolved by this resolver.
        """
        if isinstance(value, str):
            return self.param_dict.get(value, sympy.Symbol(value))
        if isinstance(value, sympy.Basic):
            if sys.version_info.major < 3:
                # coverage: ignore
                # HACK: workaround https://github.com/sympy/sympy/issues/16087
                d = {k.encode(): v for k, v in self.param_dict.items()}
                v = value.subs(d)
            else:
                v = value.subs(self.param_dict)
            return v if v.free_symbols else float(v)
        return value
def value_of ( self , value : Union [ sympy . Basic , float , str ] ) -> Union [ sympy . Basic , float ] : if isinstance ( value , str ) : return self . param_dict . get ( value , sympy . Symbol ( value ) ) if isinstance ( value , sympy . Basic ) : if sys . version_info . major < 3 : d = { k . encode ( ) : v for k , v in self . param_dict . items ( ) } v = value . subs ( d ) else : v = value . subs ( self . param_dict ) return v if v . free_symbols else float ( v ) return value
Attempt to resolve a Symbol or name or float to its assigned value.

        If unable to resolve a sympy.Symbol, returns it unchanged.
        If unable to resolve a name, returns a sympy.Symbol with that name.

        Args:
            value: The sympy.Symbol or name or float to try to resolve into just
                a float.

        Returns:
            The value of the parameter as resolved by this resolver.