Skip to content
Snippets Groups Projects
Commit 033f9ee1 authored by Kevin's avatar Kevin
Browse files

changed split function and MAD operation

parent 4672f718
No related branches found
No related tags found
2 merge requests!44Resolve "Operation Replacement in a SFG",!42Resolve "Operation to SFG Conversion"
Pipeline #14318 failed
......@@ -235,8 +235,8 @@ class MAD(AbstractOperation):
TODO: More info.
"""
def __init__(self, src0: Optional[SignalSourceProvider] = None, src1: Optional[SignalSourceProvider] = None, name: Name = ""):
super().__init__(input_count = 3, output_count = 1, name = name, input_sources = [src0, src1])
def __init__(self, src0: Optional[SignalSourceProvider] = None, src1: Optional[SignalSourceProvider] = None, src2: Optional[SignalSourceProvider] = None, name: Name = ""):
super().__init__(input_count = 3, output_count = 1, name = name, input_sources = [src0, src1, src2])
@property
def type_name(self) -> TypeName:
......
......@@ -329,7 +329,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
# Import here to avoid circular imports.
from b_asic.special_operations import Input
try:
result = self.evaluate([Input()] * self.input_count)
result = self.evaluate(*[Input()] * self.input_count)
if isinstance(result, collections.Sequence) and all(isinstance(e, Operation) for e in result):
return result
if isinstance(result, Operation):
......@@ -338,7 +338,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
pass
except ValueError:
pass
return [self]
return [self]
@property
def neighbors(self) -> Iterable[GraphComponent]:
......
......@@ -4,8 +4,7 @@ B-ASIC test suite for the core operations.
from b_asic import \
Constant, Addition, Subtraction, Multiplication, ConstantMultiplication, Division, \
SquareRoot, ComplexConjugate, Max, Min, Absolute, Butterfly
SquareRoot, ComplexConjugate, Max, Min, Absolute, Butterfly, MAD
class TestConstant:
def test_constant_positive(self):
......@@ -164,3 +163,14 @@ class TestButterfly:
test_operation = Butterfly()
assert test_operation.evaluate_output(0, [2+1j, 3-2j]) == 5-1j
assert test_operation.evaluate_output(1, [2+1j, 3-2j]) == -1+3j
def test_split(self):
but1 = Butterfly()
split = but1.split()
assert len(split) == 2
class TestMad:
def test_split_mad(self):
mad1 = MAD()
res = mad1.split()
assert len(res) == 2
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment