From 6698c9a9429b2e722ae4f4b88e249d0a5be523ce Mon Sep 17 00:00:00 2001
From: Simon Bjurek <simbj106@student.liu.se>
Date: Tue, 28 Jan 2025 11:59:46 +0100
Subject: [PATCH] improved some of the styling

---
 b_asic/sfg_generators.py | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/b_asic/sfg_generators.py b/b_asic/sfg_generators.py
index 910b3fd6..789cd161 100644
--- a/b_asic/sfg_generators.py
+++ b/b_asic/sfg_generators.py
@@ -264,6 +264,8 @@ def direct_form_1_iir(
     mult_properties: Optional[Union[Dict[str, int], Dict[str, Dict[str, int]]]] = None,
     add_properties: Optional[Union[Dict[str, int], Dict[str, Dict[str, int]]]] = None,
 ) -> SFG:
+    if len(a) != len(b):
+        raise ValueError("size of coefficient lists a and b are not the same")
     if name is None:
         name = "Direct-form I IIR filter"
     if mult_properties is None:
@@ -271,10 +273,8 @@ def direct_form_1_iir(
     if add_properties is None:
         add_properties = {}
 
-    input_op = Input()
-    output = Output()
-
     # construct the feed-forward part
+    input_op = Input()
     muls = [ConstantMultiplication(b[0], input_op, **mult_properties)]
     delays = []
     prev_delay = input_op
@@ -290,8 +290,8 @@ def direct_form_1_iir(
 
     # construct the feedback part
     tmp_add = Addition(op_a, None, **add_properties)
-    # muls = [ConstantMultiplication(a[0], tmp_add, **mult_properties)]
     muls = []
+    output = Output()
     output <<= tmp_add
 
     delays = []
@@ -318,6 +318,8 @@ def direct_form_2_iir(
     mult_properties: Optional[Union[Dict[str, int], Dict[str, Dict[str, int]]]] = None,
     add_properties: Optional[Union[Dict[str, int], Dict[str, Dict[str, int]]]] = None,
 ) -> SFG:
+    if len(a) != len(b):
+        raise ValueError("size of coefficient lists a and b are not the same")
     if name is None:
         name = "Direct-form I IIR filter"
     if mult_properties is None:
@@ -325,18 +327,12 @@ def direct_form_2_iir(
     if add_properties is None:
         add_properties = {}
 
-    input_op = Input()
-
+    # construct the repeated part of the SFG
     left_adds = []
     right_adds = []
     left_muls = []
     right_muls = []
     delays = [Delay()]
-
-    if len(a) != len(b):
-        raise ValueError("size of coefficient lists a and b are not the same")
-
-    # all except the final
     op_a_left = None
     op_a_right = None
     for i in range(len(a) - 1):
@@ -361,7 +357,8 @@ def direct_form_2_iir(
             op_a_left = left_muls[-1]
             op_a_right = right_muls[-1]
 
-    # finalize
+    # finalize the SFG
+    input_op = Input()
     if left_adds:
         left_adds.append(Addition(input_op, left_adds[-1], **add_properties))
     else:
@@ -369,7 +366,6 @@ def direct_form_2_iir(
     delays[-1] <<= left_adds[-1]
     mul = ConstantMultiplication(b[0], left_adds[-1], **mult_properties)
     add = Addition(mul, right_adds[-1], **add_properties)
-
     output = Output()
     output <<= add
     return SFG([input_op], [output], name=Name(name))
-- 
GitLab