Module curvepy.constant
Expand source code
import math
from .curve import Curve, MIN_STEP
from intervalpy import Interval
class Constant(Curve):
@property
def value(self):
return self._value
@classmethod
def zero(cls):
return _zero
@value.setter
def value(self, value):
if value == self._value:
return
self.begin_update(self.domain)
self._value = value
self.end_update(self.domain)
def get_domain(self):
return self._const_interval
def __init__(self, y, domain=None):
super().__init__(min_step=math.inf)
self._value = y
if domain is not None:
domain = Interval.parse(domain)
else:
domain = Interval.infinite()
self._const_interval = domain
def __repr__(self):
try:
return str(self.value)
except Exception as e:
return super().__repr__() + f'({e})'
def y(self, x):
return self.value
def d_y(self, x, forward=False, min_step=MIN_STEP, limit=None):
return 0.0
def x(self, y):
if y == self.value:
return 0.0
return None
_zero = Constant(0)
Classes
class Constant (y, domain=None)
-
Expand source code
class Constant(Curve): @property def value(self): return self._value @classmethod def zero(cls): return _zero @value.setter def value(self, value): if value == self._value: return self.begin_update(self.domain) self._value = value self.end_update(self.domain) def get_domain(self): return self._const_interval def __init__(self, y, domain=None): super().__init__(min_step=math.inf) self._value = y if domain is not None: domain = Interval.parse(domain) else: domain = Interval.infinite() self._const_interval = domain def __repr__(self): try: return str(self.value) except Exception as e: return super().__repr__() + f'({e})' def y(self, x): return self.value def d_y(self, x, forward=False, min_step=MIN_STEP, limit=None): return 0.0 def x(self, y): if y == self.value: return 0.0 return None
Ancestors
Static methods
def zero()
-
Expand source code
@classmethod def zero(cls): return _zero
Instance variables
var value
-
Expand source code
@property def value(self): return self._value
Methods
def d_y(self, x, forward=False, min_step=1e-05, limit=None)
-
Expand source code
def d_y(self, x, forward=False, min_step=MIN_STEP, limit=None): return 0.0
def get_domain(self)
-
Expand source code
def get_domain(self): return self._const_interval
def x(self, y)
-
Expand source code
def x(self, y): if y == self.value: return 0.0 return None
def y(self, x)
-
Expand source code
def y(self, x): return self.value
Inherited members