forked from M-Labs/artiq
parent
d04bcd8754
commit
888696f588
|
@ -66,7 +66,7 @@ def _receive_list(kernel, embedding_map):
|
||||||
tag = chr(kernel._read_int8())
|
tag = chr(kernel._read_int8())
|
||||||
if tag == "b":
|
if tag == "b":
|
||||||
buffer = kernel._read(length)
|
buffer = kernel._read(length)
|
||||||
return list(buffer)
|
return [bool(a) for a in buffer]
|
||||||
elif tag == "i":
|
elif tag == "i":
|
||||||
buffer = kernel._read(4 * length)
|
buffer = kernel._read(4 * length)
|
||||||
return list(struct.unpack(kernel.endian + "%sl" % length, buffer))
|
return list(struct.unpack(kernel.endian + "%sl" % length, buffer))
|
||||||
|
@ -96,7 +96,7 @@ def _receive_array(kernel, embedding_map):
|
||||||
length = numpy.prod(shape)
|
length = numpy.prod(shape)
|
||||||
if tag == "b":
|
if tag == "b":
|
||||||
buffer = kernel._read(length)
|
buffer = kernel._read(length)
|
||||||
elems = numpy.ndarray((length, ), 'B', buffer)
|
elems = numpy.ndarray((length, ), '?', buffer)
|
||||||
elif tag == "i":
|
elif tag == "i":
|
||||||
buffer = kernel._read(4 * length)
|
buffer = kernel._read(4 * length)
|
||||||
elems = numpy.ndarray((length, ), kernel.endian + 'i4', buffer)
|
elems = numpy.ndarray((length, ), kernel.endian + 'i4', buffer)
|
||||||
|
|
|
@ -55,6 +55,9 @@ class RoundtripTest(ExperimentCase):
|
||||||
def test_list(self):
|
def test_list(self):
|
||||||
self.assertRoundtrip([10])
|
self.assertRoundtrip([10])
|
||||||
|
|
||||||
|
def test_bool_list(self):
|
||||||
|
self.assertRoundtrip([True, False])
|
||||||
|
|
||||||
def test_object(self):
|
def test_object(self):
|
||||||
obj = object()
|
obj = object()
|
||||||
self.assertRoundtrip(obj)
|
self.assertRoundtrip(obj)
|
||||||
|
@ -69,6 +72,7 @@ class RoundtripTest(ExperimentCase):
|
||||||
self.assertRoundtrip([(0x12345678, [("foo", [0.0, 1.0], [0, 1])])])
|
self.assertRoundtrip([(0x12345678, [("foo", [0.0, 1.0], [0, 1])])])
|
||||||
|
|
||||||
def test_array_1d(self):
|
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, 2, 3], dtype=numpy.int32))
|
||||||
self.assertArrayRoundtrip(numpy.array([1.0, 2.0, 3.0]))
|
self.assertArrayRoundtrip(numpy.array([1.0, 2.0, 3.0]))
|
||||||
self.assertArrayRoundtrip(numpy.array(["a", "b", "c"]))
|
self.assertArrayRoundtrip(numpy.array(["a", "b", "c"]))
|
||||||
|
|
Loading…
Reference in New Issue