Skip to content

intrinsic

IntrinsicData = dict[str, Any] module-attribute

IntrinsicEvent = Event[IntrinsicData] module-attribute

IntrinsicType = TypeVar('IntrinsicType') module-attribute

Intrinsic

Bases: Component

Source code in roc/intrinsic.py
61
62
63
64
65
66
67
68
69
70
71
72
73
74
@register_component("intrinsic", "intrinsic", auto=True)
class Intrinsic(Component):
    bus = EventBus[IntrinsicData]("intrinsic")

    def __init__(self) -> None:
        super().__init__()
        self.int_conn = self.connect_bus(Intrinsic.bus)
        self.int_conn.listen(self.do_intrinsic)

    def event_filter(self, e: IntrinsicEvent) -> bool:
        return True

    def do_intrinsic(self, e: IntrinsicEvent) -> None:
        return None

bus = EventBus[IntrinsicData]('intrinsic') class-attribute instance-attribute

int_conn = self.connect_bus(Intrinsic.bus) instance-attribute

__init__()

Source code in roc/intrinsic.py
65
66
67
68
def __init__(self) -> None:
    super().__init__()
    self.int_conn = self.connect_bus(Intrinsic.bus)
    self.int_conn.listen(self.do_intrinsic)

do_intrinsic(e)

Source code in roc/intrinsic.py
73
74
def do_intrinsic(self, e: IntrinsicEvent) -> None:
    return None

event_filter(e)

Source code in roc/intrinsic.py
70
71
def event_filter(self, e: IntrinsicEvent) -> bool:
    return True

IntrinsicBoolOp

Bases: IntrinsicOp[bool]

Source code in roc/intrinsic.py
46
47
48
49
50
51
52
53
54
class IntrinsicBoolOp(IntrinsicOp[bool]):
    def validate(self, val: bool) -> bool:
        return True

    def normalize(self, val: bool) -> float:
        if val:
            return 1.0

        return 0.0

normalize(val)

Source code in roc/intrinsic.py
50
51
52
53
54
def normalize(self, val: bool) -> float:
    if val:
        return 1.0

    return 0.0

validate(val)

Source code in roc/intrinsic.py
47
48
def validate(self, val: bool) -> bool:
    return True

IntrinsicIntOp

Bases: IntrinsicOp[int]

Source code in roc/intrinsic.py
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class IntrinsicIntOp(IntrinsicOp[int]):
    def __init__(self, name: str, min: int, max: int) -> None:
        super().__init__(name)
        self.min = min
        self.max = max
        self.range = abs(min) + abs(max)

    def validate(self, val: int) -> bool:
        if (val < self.min) or (val > self.max):
            return False

        return True

    def normalize(self, val: int) -> float:
        return (val + abs(self.min)) / self.range

max = max instance-attribute

min = min instance-attribute

range = abs(min) + abs(max) instance-attribute

__init__(name, min, max)

Source code in roc/intrinsic.py
30
31
32
33
34
def __init__(self, name: str, min: int, max: int) -> None:
    super().__init__(name)
    self.min = min
    self.max = max
    self.range = abs(min) + abs(max)

normalize(val)

Source code in roc/intrinsic.py
42
43
def normalize(self, val: int) -> float:
    return (val + abs(self.min)) / self.range

validate(val)

Source code in roc/intrinsic.py
36
37
38
39
40
def validate(self, val: int) -> bool:
    if (val < self.min) or (val > self.max):
        return False

    return True

IntrinsicOp

Bases: ABC, Generic[IntrinsicType]

Source code in roc/intrinsic.py
12
13
14
15
16
17
18
19
20
class IntrinsicOp(ABC, Generic[IntrinsicType]):
    def __init__(self, name: str) -> None:
        self.name = name

    @abstractmethod
    def validate(self, val: IntrinsicType) -> bool: ...

    @abstractmethod
    def normalize(self, val: IntrinsicType) -> float: ...

name = name instance-attribute

__init__(name)

Source code in roc/intrinsic.py
13
14
def __init__(self, name: str) -> None:
    self.name = name

normalize(val) abstractmethod

Source code in roc/intrinsic.py
19
20
@abstractmethod
def normalize(self, val: IntrinsicType) -> float: ...

validate(val) abstractmethod

Source code in roc/intrinsic.py
16
17
@abstractmethod
def validate(self, val: IntrinsicType) -> bool: ...