def test_get_overlapping_ranges(self): for i in [100, 500]: for j in [.1, 1, 5, 10]: for k in range(0, 10): ar = generate_positions(i, j) idx = CS.computeIndicesDP(ar[:,0], ar[:,1]) aArray = hstack((ar, idx)) s = random.randint(0, i, 1) e = int(1 + random.exponential(30, 1)) x = RQ.getOverlappingRanges(aArray[:,0], aArray[:,1], aArray[:,2], aArray[:,3], s, s + e + 1) y = brute_force_search(aArray[:,0], aArray[:,1], aArray[:,2], aArray[:,3], s, s + e) assert(all(sort(x) == sort(y)))
def test_get_overlapping_ranges(self): for i in [100, 500]: for j in [.1, 1, 5, 10]: for k in range(0, 10): ar = generate_positions(i, j) idx = CS.computeIndicesDP(ar[:, 0], ar[:, 1]) aArray = hstack((ar, idx)) s = random.randint(0, i, 1) e = int(1 + random.exponential(30, 1)) x = RQ.getOverlappingRanges(aArray[:, 0], aArray[:, 1], aArray[:, 2], aArray[:, 3], s, s + e + 1) y = brute_force_search(aArray[:, 0], aArray[:, 1], aArray[:, 2], aArray[:, 3], s, s + e) assert (all(sort(x) == sort(y)))
def compare_implementations(size, coverage=1): NN = size * coverage ar = generate_positions(size, coverage) res = CS.computeIndices(ar[:, 0], ar[:, 1]) resDP = CS.computeIndicesDP(ar[:, 0], ar[:, 1]) assert (sum(res[:, 0:2] == resDP[:, 0:2]) == NN * 2)
def compare_implementations(size, coverage = 1): NN = size * coverage ar = generate_positions(size, coverage) res = CS.computeIndices(ar[:,0], ar[:,1]) resDP = CS.computeIndicesDP(ar[:,0], ar[:,1]) assert(sum(res[:,0:2] == resDP[:,0:2]) == NN*2)