added conv(adj) to map to conv(adj.get_current_value()) for conv in (int, float, round, trunc, floor, ceil)

This commit is contained in:
2022-04-28 11:53:36 +02:00
parent a19410c53d
commit e449199a25
2 changed files with 33 additions and 2 deletions
+2 -2
View File
@@ -2,11 +2,11 @@ from slic.utils import typename
from slic.core.task import TaskProducer
from .baseadjustable import BaseAdjustable
from .error import AdjustableError
from .convenience import SpecConvenience
from .convenience import SpecConvenience, NumericConvenience
from .limited import Limited
class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience, Limited):
class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience, NumericConvenience, Limited):
stop = None #TODO: might be better to make this callable
+31
View File
@@ -1,3 +1,34 @@
from math import trunc, floor, ceil
class NumericConvenience:
def __int__(self):
v = self.get_current_value()
return int(v)
def __float__(self):
v = self.get_current_value()
return float(v)
def __round__(self, *args, **kwargs):
v = self.get_current_value()
return round(v, *args, **kwargs)
def __trunc__(self):
v = self.get_current_value()
return trunc(v)
def __floor__(self):
v = self.get_current_value()
return floor(v)
def __ceil__(self):
v = self.get_current_value()
return ceil(v)
class SpecConvenience: