def is_sorted(self): """ Tests whether the data are sorted into slow/fast order rows are slow direction columns are fast """ # TODO: non uint16 cases assert self.row.dtype == np.uint16 and \ cImageD11.sparse_is_sorted( self.row, self.col ) == 0
def test2(self): np.random.seed(42) N = self.N a = np.random.random(N * 2) i, j = (a * 10).astype('i').reshape(2, N) oj = np.empty(N, 'i') oi = np.empty(N, 'i') tmp = np.empty(20, 'i') d = np.ones(N, int) coo = scipy.sparse.coo_matrix((d, (i.copy(), j.copy()))) csr = coo.tocsr() coo = csr.tocoo() #print("",i,"\n",j) n = cImageD11.compress_duplicates(i, j, oi, oj, tmp) self.assertEqual( cImageD11.sparse_is_sorted(i[:n].astype(np.uint16), j[:n].astype(np.uint16)), 0) r = coo.row c = coo.col d = coo.data self.assertTrue(n == len(r)) self.assertTrue((r == i[:n]).all()) self.assertTrue((c == j[:n]).all()) self.assertTrue((d == oi[:n]).all())
def testbadj(self): self.i[5] = self.i[4] self.j[5] = self.j[4] - 1 ret = cImageD11.sparse_is_sorted(self.i, self.j) self.assertEqual(ret, 5)
def testrpt(self): self.i[5] = self.i[4] self.j[5] = self.j[4] ret = cImageD11.sparse_is_sorted(self.i, self.j) self.assertEqual(ret, -5)
def testOK(self): ret = cImageD11.sparse_is_sorted(self.i, self.j) self.assertEqual(ret, 0)