From 73cb0ce15fbae573dbb3ad7ed49fd89b859f3169 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 13 Apr 2019 00:25:59 +1000 Subject: [PATCH] Fixed numpy bool bug --- Tests/test_numpy.py | 8 ++++++++ src/libImaging/Unpack.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Tests/test_numpy.py b/Tests/test_numpy.py index bdb0ed874..53406c67d 100644 --- a/Tests/test_numpy.py +++ b/Tests/test_numpy.py @@ -178,6 +178,14 @@ class TestNumpy(PillowTestCase): self.assertEqual(len(im.getdata()), len(arr)) + def test_roundtrip_eye(self): + for dtype in (numpy.bool, numpy.bool8, + numpy.int8, numpy.int16, numpy.int32, + numpy.uint8, numpy.uint16, numpy.uint32, + numpy.float, numpy.float32, numpy.float64): + arr = numpy.eye(10, dtype=dtype) + numpy.testing.assert_array_equal(arr, numpy.array(Image.fromarray(arr))) + def test_zero_size(self): # Shouldn't cause floating point exception # See https://github.com/python-pillow/Pillow/issues/2259 diff --git a/src/libImaging/Unpack.c b/src/libImaging/Unpack.c index ccfeabaf9..2e29b20f4 100644 --- a/src/libImaging/Unpack.c +++ b/src/libImaging/Unpack.c @@ -1280,7 +1280,7 @@ static struct { {"1", "1;I", 1, unpack1I}, {"1", "1;R", 1, unpack1R}, {"1", "1;IR", 1, unpack1IR}, - {"1", "1;8", 1, unpack18}, + {"1", "1;8", 8, unpack18}, /* greyscale */ {"L", "L;2", 2, unpackL2},