Dane Sabo 3299181c70 Auto sync: 2025-09-02 22:47:53 (10335 files changed)
M  lazy-lock.json

M  lua/custom/configs/lspconfig.lua

M  lua/custom/init.lua

A  lua/custom/journal.lua

A  nvim_venv/bin/Activate.ps1

A  nvim_venv/bin/activate

A  nvim_venv/bin/activate.csh

A  nvim_venv/bin/activate.fish
2025-09-02 22:47:53 -04:00

58 lines
1.4 KiB
Python

"""Implementation of :class:`ExpressionRawDomain` class. """
from sympy.core import Expr, S, sympify, Add
from sympy.polys.domains.characteristiczero import CharacteristicZero
from sympy.polys.domains.field import Field
from sympy.polys.domains.simpledomain import SimpleDomain
from sympy.polys.polyerrors import CoercionFailed
from sympy.utilities import public
@public
class ExpressionRawDomain(Field, CharacteristicZero, SimpleDomain):
"""A class for arbitrary expressions but without automatic simplification. """
is_SymbolicRawDomain = is_EXRAW = True
dtype = Expr
zero = S.Zero
one = S.One
rep = 'EXRAW'
has_assoc_Ring = False
has_assoc_Field = True
def __init__(self):
pass
@classmethod
def new(self, a):
return sympify(a)
def to_sympy(self, a):
"""Convert ``a`` to a SymPy object. """
return a
def from_sympy(self, a):
"""Convert SymPy's expression to ``dtype``. """
if not isinstance(a, Expr):
raise CoercionFailed(f"Expecting an Expr instance but found: {type(a).__name__}")
return a
def convert_from(self, a, K):
"""Convert a domain element from another domain to EXRAW"""
return K.to_sympy(a)
def get_field(self):
"""Returns a field associated with ``self``. """
return self
def sum(self, items):
return Add(*items)
EXRAW = ExpressionRawDomain()