mirror of
https://github.com/m-labs/artiq.git
synced 2024-12-18 16:06:30 +08:00
parent
d04bcd8754
commit
888696f588
@ -66,7 +66,7 @@ def _receive_list(kernel, embedding_map):
|
||||
tag = chr(kernel._read_int8())
|
||||
if tag == "b":
|
||||
buffer = kernel._read(length)
|
||||
return list(buffer)
|
||||
return [bool(a) for a in buffer]
|
||||
elif tag == "i":
|
||||
buffer = kernel._read(4 * length)
|
||||
return list(struct.unpack(kernel.endian + "%sl" % length, buffer))
|
||||
@ -96,7 +96,7 @@ def _receive_array(kernel, embedding_map):
|
||||
length = numpy.prod(shape)
|
||||
if tag == "b":
|
||||
buffer = kernel._read(length)
|
||||
elems = numpy.ndarray((length, ), 'B', buffer)
|
||||
elems = numpy.ndarray((length, ), '?', buffer)
|
||||
elif tag == "i":
|
||||
buffer = kernel._read(4 * length)
|
||||
elems = numpy.ndarray((length, ), kernel.endian + 'i4', buffer)
|
||||
|
@ -55,6 +55,9 @@ class RoundtripTest(ExperimentCase):
|
||||
def test_list(self):
|
||||
self.assertRoundtrip([10])
|
||||
|
||||
def test_bool_list(self):
|
||||
self.assertRoundtrip([True, False])
|
||||
|
||||
def test_object(self):
|
||||
obj = object()
|
||||
self.assertRoundtrip(obj)
|
||||
@ -69,6 +72,7 @@ class RoundtripTest(ExperimentCase):
|
||||
self.assertRoundtrip([(0x12345678, [("foo", [0.0, 1.0], [0, 1])])])
|
||||
|
||||
def test_array_1d(self):
|
||||
self.assertArrayRoundtrip(numpy.array([True, False]))
|
||||
self.assertArrayRoundtrip(numpy.array([1, 2, 3], dtype=numpy.int32))
|
||||
self.assertArrayRoundtrip(numpy.array([1.0, 2.0, 3.0]))
|
||||
self.assertArrayRoundtrip(numpy.array(["a", "b", "c"]))
|
||||
|
Loading…
Reference in New Issue
Block a user