From f12ae10b43f1167e3a5b112752b3736cea8628ef Mon Sep 17 00:00:00 2001 From: Margaret <62753112+meg-1@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:07:39 +0300 Subject: [PATCH 1/3] Updating scheduling/split_workload.py implementing recommendations Co-authored-by: Tianyi Zheng --- scheduling/split_workload.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scheduling/split_workload.py b/scheduling/split_workload.py index 9985caf0a..f5282ecff 100644 --- a/scheduling/split_workload.py +++ b/scheduling/split_workload.py @@ -28,9 +28,9 @@ def split_list(timings: list) -> tuple: def split_workload(arr: list) -> tuple: if len(arr) == 0: - result = ([], [], 0) - elif len(arr) == 1: - result = ([arr[0]], [], 1) + return ([], [], 0) + if len(arr) == 1: + return ([arr[0]], [], 1) else: n = len(arr) smallest_diff = float("inf") From 7f73cbd3f78bbc414592f9f9fcc3734ec4c592e3 Mon Sep 17 00:00:00 2001 From: Margaret <62753112+meg-1@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:15:35 +0300 Subject: [PATCH 2/3] Updating scheduling/split_workload.py implementing suggestion Co-authored-by: Tianyi Zheng --- scheduling/split_workload.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scheduling/split_workload.py b/scheduling/split_workload.py index f5282ecff..e0a7a4853 100644 --- a/scheduling/split_workload.py +++ b/scheduling/split_workload.py @@ -34,9 +34,8 @@ def split_list(timings: list) -> tuple: else: n = len(arr) smallest_diff = float("inf") - all_nums_positive = [c >= 0 for c in arr] - if False in all_nums_positive: - raise ValueError("numbers can only be positive") + if any(c < 0 for c in arr): + raise ValueError("Numbers can only be non-negative") for i in range(1, 2**n - 1): indices = [j for j in range(n) if (i & (1 << j)) != 0] distributed_timings_1 = [arr[j] for j in indices] From d053352d957992081733a3aafb60fae8d2f2551d Mon Sep 17 00:00:00 2001 From: Margaret <62753112+meg-1@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:16:36 +0300 Subject: [PATCH 3/3] Updating cheduling/split_workload.py implementing suggestion Co-authored-by: Tianyi Zheng --- scheduling/split_workload.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/scheduling/split_workload.py b/scheduling/split_workload.py index e0a7a4853..ce25218cc 100644 --- a/scheduling/split_workload.py +++ b/scheduling/split_workload.py @@ -41,13 +41,12 @@ def split_list(timings: list) -> tuple: distributed_timings_1 = [arr[j] for j in indices] distributed_timings_2 = [arr[j] for j in range(n) if j not in indices] diff = abs(sum(distributed_timings_1) - sum(distributed_timings_2)) - if diff < smallest_diff: - smallest_diff = diff - result = ( - distributed_timings_1, - distributed_timings_2, - smallest_diff, - ) + smallest_diff = min(smallest_diff, diff) + result = ( + distributed_timings_1, + distributed_timings_2, + smallest_diff, + ) return result try: