From: Michael Nolan Date: Fri, 8 May 2020 17:01:38 +0000 (-0400) Subject: Allow partsig to take in a PartitionPoints directly X-Git-Tag: ls180-24jan2020~58 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a2ead312079c99b8a7c18b672080d1069729a970;p=ieee754fpu.git Allow partsig to take in a PartitionPoints directly --- diff --git a/src/ieee754/part/partsig.py b/src/ieee754/part/partsig.py index 1fc7d4b0..a5f95140 100644 --- a/src/ieee754/part/partsig.py +++ b/src/ieee754/part/partsig.py @@ -20,7 +20,7 @@ from ieee754.part_mul_add.adder import PartitionedAdder from ieee754.part_cmp.eq_gt_ge import PartitionedEqGtGe from ieee754.part_shift.part_shift_dynamic import PartitionedDynamicShift from ieee754.part_shift.part_shift_scalar import PartitionedScalarShift -from ieee754.part_mul_add.partpoints import make_partition +from ieee754.part_mul_add.partpoints import make_partition, PartitionPoints from operator import or_, xor, and_, not_ from nmigen import (Signal, Const) @@ -41,7 +41,10 @@ class PartitionedSignal: self.sig = Signal(*args, **kwargs) width = self.sig.shape()[0] # get signal width # create partition points - self.partpoints = make_partition(mask, width) + if isinstance(mask, PartitionPoints): + self.partpoints = mask + else: + self.partpoints = make_partition(mask, width) self.modnames = {} for name in ['add', 'eq', 'gt', 'ge', 'ls']: self.modnames[name] = 0