From 102c43ebfdfd54ae01655382751898e59686df8d Mon Sep 17 00:00:00 2001 From: Heng Pan Date: Wed, 24 Jan 2024 16:36:32 +0000 Subject: [PATCH] adapt to py3.8 --- src/py/flwr/common/serde_test.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/py/flwr/common/serde_test.py b/src/py/flwr/common/serde_test.py index d0a24b9022d5..3bf783d301bf 100644 --- a/src/py/flwr/common/serde_test.py +++ b/src/py/flwr/common/serde_test.py @@ -196,6 +196,10 @@ class RandomMaker: def __init__(self, seed: int = 42) -> None: self.rng = random.Random(seed) + def randbytes(self, n: int) -> bytes: + """Create a random bytes.""" + return self.rng.getrandbits(n * 8).to_bytes(n, "little") + def get_str(self, length: Optional[int] = None) -> str: """Create a random string.""" char_pool = ( @@ -217,7 +221,7 @@ def get_random(self, dtype: Type[T]) -> T: elif dtype == float: ret = (self.rng.random() - 0.5) * (2.0 ** self.rng.randint(0, 50)) elif dtype == bytes: - ret = self.rng.randbytes(self.rng.randint(10, 100)) + ret = self.randbytes(self.rng.randint(10, 100)) else: raise NotImplementedError(f"Unsupported dtype: {dtype}") return cast(T, ret) @@ -236,7 +240,7 @@ def array(self) -> Array: for _ in range(self.rng.randint(1, max_shape_dim)) ] stype = self.rng.choice(stypes) - data = self.rng.randbytes(self.rng.randint(*min_max_bytes_size)) + data = self.randbytes(self.rng.randint(*min_max_bytes_size)) return Array(dtype=dtype, shape=shape, stype=stype, data=data) def parameters_record(self) -> ParametersRecord: