Skip to content
Snippets Groups Projects

Name literals

Merged Frans Skarman requested to merge name_literals into master
Files
5
+ 14
10
@@ -34,7 +34,7 @@ from b_asic.graph_component import (
)
from b_asic.port import InputPort, OutputPort, SignalSourceProvider
from b_asic.signal import Signal
from b_asic.types import Num
from b_asic.types import Num, NumRuntime
if TYPE_CHECKING:
# Conditionally imported to avoid circular imports
@@ -593,7 +593,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
# Import here to avoid circular imports.
from b_asic.core_operations import Addition, Constant
if isinstance(src, Num):
if isinstance(src, NumRuntime):
return Addition(self, Constant(src))
else:
return Addition(self, src)
@@ -602,14 +602,16 @@ class AbstractOperation(Operation, AbstractGraphComponent):
# Import here to avoid circular imports.
from b_asic.core_operations import Addition, Constant
return Addition(Constant(src) if isinstance(src, Num) else src, self)
return Addition(
Constant(src) if isinstance(src, NumRuntime) else src, self
)
def __sub__(self, src: Union[SignalSourceProvider, Num]) -> "Subtraction":
# Import here to avoid circular imports.
from b_asic.core_operations import Constant, Subtraction
return Subtraction(
self, Constant(src) if isinstance(src, Num) else src
self, Constant(src) if isinstance(src, NumRuntime) else src
)
def __rsub__(self, src: Union[SignalSourceProvider, Num]) -> "Subtraction":
@@ -617,7 +619,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
from b_asic.core_operations import Constant, Subtraction
return Subtraction(
Constant(src) if isinstance(src, Num) else src, self
Constant(src) if isinstance(src, NumRuntime) else src, self
)
def __mul__(
@@ -631,7 +633,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
return (
ConstantMultiplication(src, self)
if isinstance(src, Num)
if isinstance(src, NumRuntime)
else Multiplication(self, src)
)
@@ -646,7 +648,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
return (
ConstantMultiplication(src, self)
if isinstance(src, Num)
if isinstance(src, NumRuntime)
else Multiplication(src, self)
)
@@ -654,7 +656,9 @@ class AbstractOperation(Operation, AbstractGraphComponent):
# Import here to avoid circular imports.
from b_asic.core_operations import Constant, Division
return Division(self, Constant(src) if isinstance(src, Num) else src)
return Division(
self, Constant(src) if isinstance(src, NumRuntime) else src
)
def __rtruediv__(
self, src: Union[SignalSourceProvider, Num]
@@ -662,7 +666,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
# Import here to avoid circular imports.
from b_asic.core_operations import Constant, Division, Reciprocal
if isinstance(src, Num):
if isinstance(src, NumRuntime):
if src == 1:
return Reciprocal(self)
else:
@@ -963,7 +967,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
# TODO: Fix
def truncate_input(self, index: int, value: Num, bits: int) -> Num:
if isinstance(value, float | int):
if isinstance(value, (float, int)):
return round(value) & ((2**bits) - 1)
else:
raise TypeError
Loading