Beispiel #1
0
 def test_dtype(self):
     dt = np.intc
     p = ndpointer(dtype=dt)
     assert_(p.from_param(np.array([1], dt)))
     dt = '<i4'
     p = ndpointer(dtype=dt)
     assert_(p.from_param(np.array([1], dt)))
     dt = np.dtype('>i4')
     p = ndpointer(dtype=dt)
     p.from_param(np.array([1], dt))
     assert_raises(TypeError, p.from_param,
                       np.array([1], dt.newbyteorder('swap')))
     dtnames = ['x', 'y']
     dtformats = [np.intc, np.float64]
     dtdescr = {'names': dtnames, 'formats': dtformats}
     dt = np.dtype(dtdescr)
     p = ndpointer(dtype=dt)
     assert_(p.from_param(np.zeros((10,), dt)))
     samedt = np.dtype(dtdescr)
     p = ndpointer(dtype=samedt)
     assert_(p.from_param(np.zeros((10,), dt)))
     dt2 = np.dtype(dtdescr, align=True)
     if dt.itemsize != dt2.itemsize:
         assert_raises(TypeError, p.from_param, np.zeros((10,), dt2))
     else:
         assert_(p.from_param(np.zeros((10,), dt2)))
Beispiel #2
0
 def test_flags(self):
     x = np.array([[1, 2], [3, 4]], order='F')
     p = ndpointer(flags='FORTRAN')
     assert_(p.from_param(x))
     p = ndpointer(flags='CONTIGUOUS')
     assert_raises(TypeError, p.from_param, x)
     p = ndpointer(flags=x.flags.num)
     assert_(p.from_param(x))
     assert_raises(TypeError, p.from_param, np.array([[1, 2], [3, 4]]))
Beispiel #3
0
 def test_ndim(self):
     p = ndpointer(ndim=0)
     assert_(p.from_param(np.array(1)))
     assert_raises(TypeError, p.from_param, np.array([1]))
     p = ndpointer(ndim=1)
     assert_raises(TypeError, p.from_param, np.array(1))
     assert_(p.from_param(np.array([1])))
     p = ndpointer(ndim=2)
     assert_(p.from_param(np.array([[1]])))
Beispiel #4
0
 def test_shape(self):
     p = ndpointer(shape=(1, 2))
     assert_(p.from_param(np.array([[1, 2]])))
     assert_raises(TypeError, p.from_param, np.array([[1], [2]]))
     p = ndpointer(shape=())
     assert_(p.from_param(np.array(1)))
Beispiel #5
0
 def test_cache(self):
     a1 = ndpointer(dtype=np.float64)
     a2 = ndpointer(dtype=np.float64)
     assert_(a1 == a2)