def test_assign_1D(self): bin_mapper = WExploreBinMapper([2, 2, 2], [4.0, 2.0, 1.0], dfunc) bin_mapper.centers = [[-1.0], [1.0], [-2.0], [2.0], [10.0]] bin_mapper.add_bin(None, 0) bin_mapper.add_bin(None, 1) for node in bin_mapper.level_indices[0]: cix = bin_mapper.bin_graph.node[node]['center_ix'] if bin_mapper.centers[cix][0] > 0: bin_mapper.add_bin(node, 3) else: bin_mapper.add_bin(node, 2) for nix in [1, 4, 6, 8]: bin_mapper.add_bin(nix, 4) pcoords = np.array([[-1.0], [1.0], [2.0], [-2.0], [10.0], [-10.0], [3.0], [-3.0]], np.float32) assign = bin_mapper.assign(pcoords) assert list(assign) == [0, 1, 3, 2, 7, 2, 3, 2] assign = bin_mapper.assign(pcoords) assert list(assign) == [0, 1, 3, 2, 7, 2, 3, 2]
def test_assign_1D(self): bin_mapper = WExploreBinMapper([2, 2, 2], [4.0, 2.0, 1.0], dfunc) bin_mapper.centers = [[-1.0], [1.0], [-2.0], [2.0], [10.0]] bin_mapper.add_bin(None, 0) bin_mapper.add_bin(None, 1) for node in bin_mapper.level_indices[0]: cix = bin_mapper.bin_graph.node[node]['center_ix'] if bin_mapper.centers[cix][0] > 0: bin_mapper.add_bin(node, 3) else: bin_mapper.add_bin(node, 2) for nix in [1, 4, 6, 8]: bin_mapper.add_bin(nix, 4) pcoords = np.array( [[-1.0], [1.0], [2.0], [-2.0], [10.0], [-10.0], [3.0], [-3.0]], np.float32) assign = bin_mapper.assign(pcoords) assert list(assign) == [0, 1, 3, 2, 7, 2, 3, 2] assign = bin_mapper.assign(pcoords) assert list(assign) == [0, 1, 3, 2, 7, 2, 3, 2]
def test_add_bin_distance(self): bin_mapper = WExploreBinMapper([2, 2, 2], [4.0, 2.0, 1.0], dfunc) bin_mapper.centers = [[0.0]] bin_mapper.add_bin(None, 0) pcoords = np.array([[0.0], [4.1], [5.1]], np.float32) assign = bin_mapper.assign(pcoords, add_bins=True) assert list(assign) == [0, 0, 0] assert bin_mapper.nbins == 2 assign = bin_mapper.assign(pcoords) assert list(assign) == [0, 1, 1] #--------- pcoords = np.array([[0.0], [0.9], [9.5]], np.float32) assign = bin_mapper.assign(pcoords, add_bins=True) assert list(assign) == [0, 0, 1] assert bin_mapper.nbins == 3 assign = bin_mapper.assign(pcoords) assert list(assign) == [0, 0, 2] #--------- pcoords = np.array([[1.2], [10.6]], np.float32) assign = bin_mapper.assign(pcoords, add_bins=True) assert list(assign) == [0, 2] assert bin_mapper.nbins == 5 assign = bin_mapper.assign(pcoords) assert list(assign) == [3, 4]