Sergio Pascual b07936a
diff -ur astropy-0.3.2/astropy/io/fits/hdu/base.py astropy-0.3.2.checksum/astropy/io/fits/hdu/base.py
Sergio Pascual b07936a
--- astropy-0.3.2/astropy/io/fits/hdu/base.py	2014-05-19 15:50:15.540882206 +0200
Sergio Pascual b07936a
+++ astropy-0.3.2.checksum/astropy/io/fits/hdu/base.py	2014-05-19 15:51:32.084487630 +0200
Sergio Pascual b07936a
@@ -1581,8 +1581,8 @@
Sergio Pascual b07936a
 
Sergio Pascual b07936a
         hi = sum32 >> u16
Sergio Pascual b07936a
         lo = sum32 & uFFFF
Sergio Pascual b07936a
-        hi += np.add.reduce(bytes[0::2])
Sergio Pascual b07936a
-        lo += np.add.reduce(bytes[1::2])
Sergio Pascual b07936a
+        hi += np.add.reduce(bytes[0::2], dtype=np.uint64)
Sergio Pascual b07936a
+        lo += np.add.reduce(bytes[1::2], dtype=np.uint64)
Sergio Pascual b07936a
 
Sergio Pascual b07936a
         if (bytes.nbytes // 2) % 2:
Sergio Pascual b07936a
             lo += last << u8
Sergio Pascual b07936a
diff -ur astropy-0.3.2/astropy/io/fits/tests/test_checksum.py astropy-0.3.2.checksum/astropy/io/fits/tests/test_checksum.py
Sergio Pascual b07936a
--- astropy-0.3.2/astropy/io/fits/tests/test_checksum.py	2014-05-19 15:50:15.549882277 +0200
Sergio Pascual b07936a
+++ astropy-0.3.2.checksum/astropy/io/fits/tests/test_checksum.py	2014-05-19 15:52:39.844024043 +0200
Sergio Pascual b07936a
@@ -42,7 +42,7 @@
Sergio Pascual b07936a
         hdul.close()
Sergio Pascual b07936a
 
Sergio Pascual b07936a
     def test_image_create(self):
Sergio Pascual b07936a
-        n = np.arange(100)
Sergio Pascual b07936a
+        n = np.arange(100, dtype=np.int64)
Sergio Pascual b07936a
         hdu = fits.PrimaryHDU(n)
Sergio Pascual b07936a
         hdu.writeto(self.temp('tmp.fits'), clobber=True, checksum=True)
Sergio Pascual b07936a
         with fits.open(self.temp('tmp.fits'), checksum=True) as hdul:
Sergio Pascual b07936a
@@ -57,7 +57,7 @@
Sergio Pascual b07936a
                 assert hdul[0].header['DATASUM'] == '4950'
Sergio Pascual b07936a
 
Sergio Pascual b07936a
     def test_nonstandard_checksum(self):
Sergio Pascual b07936a
-        hdu = fits.PrimaryHDU(np.arange(10.0 ** 6))
Sergio Pascual b07936a
+        hdu = fits.PrimaryHDU(np.arange(10.0 ** 6, dtype=np.float64))
Sergio Pascual b07936a
         hdu.writeto(self.temp('tmp.fits'), clobber=True,
Sergio Pascual b07936a
                     checksum='nonstandard')
Sergio Pascual b07936a
         del hdu