[1.14.0] Tests fail on big-endian platforms
olebole opened this issue · comments
Ole Streicher commented
When compiling version 1.14.0 for (64-bit) big-endian platforms (s390x, ppc64), many tests error or fail in cdrizzle.tridz(), f.e.:
_______________________ test_zero_input_weight[lanczos3] _______________________
kernel = 'lanczos3'
@pytest.mark.parametrize(
'kernel', ['square', 'point', 'turbo', 'gaussian', 'lanczos3'],
)
def test_zero_input_weight(kernel):
"""
Test do_driz square kernel with grid
"""
# initialize input:
insci = np.ones((200, 400), dtype=np.float32)
inwht = np.ones((200, 400), dtype=np.float32)
inwht[:, 150:155] = 0
# initialize output:
outsci = np.zeros((210, 410), dtype=np.float32)
outwht = np.zeros((210, 410), dtype=np.float32)
outctx = np.zeros((210, 410), dtype=np.int32)
# define coordinate mapping:
pixmap = np.moveaxis(np.mgrid[1:201, 1:401][::-1], 0, -1)
# resample:
> cdrizzle.tdriz(
insci, inwht, pixmap,
outsci, outwht, outctx,
uniqid=1,
xmin=0, xmax=400,
ymin=0, ymax=200,
pixfrac=1,
kernel=kernel,
in_units='cps',
expscale=1,
wtscale=1,
fillstr='INDEF',
)
E ValueError: No or too few valid pixels in the pixel map.
drizzle/tests/test_drizzle.py:276: ValueError
This is a regression; it didn't happen with version 1.13.7.
Versions:
- Python 3.11.4
- Astropy 5.3.3
- Numpy 1.24.2