from abc import ABCMeta, abstractmethod from sage.all import (PolynomialRing, QQ, sage_eval, operator, SR) from vu_common import (VLog, vsetdiff, is_str, is_list, is_dict, is_tuple, merge_dict) from sageutil import get_vars, is_sage_expr from dig_miscs import Miscs, ExtFun logger = VLog('dig_inv') logger.set_level(VLog.INFO) class Inv(object): __metaclass__ = ABCMeta def __init__(self, p, p_str=None): if __debug__: assert p_str is None or is_str(p_str), p_str self.p = p if p_str is None: p_str = str(p) self.p_str = Inv.rm_lambda(p_str) def __eq__(self, other): return self.p.__eq__(other.p) def __ne__(self, other): return self.p.__ne__(other.p)
from abc import ABCMeta, abstractmethod from sage.all import (PolynomialRing, QQ, sage_eval, operator, SR) from vu_common import (VLog, vsetdiff, is_str, is_list, is_dict, is_tuple, merge_dict) from sageutil import get_vars, is_sage_expr from dig_miscs import Miscs, ExtFun logger = VLog('dig_inv') logger.set_level(VLog.INFO) class Inv(object): __metaclass__ = ABCMeta def __init__(self, p, p_str=None): if __debug__: assert p_str is None or is_str(p_str), p_str self.p = p if p_str is None: p_str = str(p) self.p_str = Inv.rm_lambda(p_str) def __eq__(self,other): return self.p.__eq__(other.p) def __ne__(self,other): return self.p.__ne__(other.p) def __hash__(self): return self.p.__hash__() def __str__(self): return self.p_str def __repr__(self): return self.p.__repr__()