Commit f4cf8c7f authored by dagal's avatar dagal
Browse files

Merge remote-tracking branch 'origin/master'

parents 9ec10c9f 611c4de5
This diff is collapsed.
......@@ -245,160 +245,6 @@ Size of initialTimes: 6807072 bytes
TTCTR (psi=32 times=RG32)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 73646 10000 773297 7.364600 0.095236
./queries/madrid/10k-starts-with-x-ends-with-y.txt 70815 10000 739183 7.081500 0.095802
./queries/madrid/10k-starts-with-x-ends-with-y.txt 311623 10000 721512 31.162300 0.431903
./queries/madrid/10k-starts-with-x-ends-with-y.txt 310953 10000 712911 31.095300 0.436174
./queries/madrid/10k-starts-with-x-ends-with-y.txt 213181 10000 25069 21.318100 8.503770
./queries/madrid/10k-starts-with-x-ends-with-y.txt 103446 10000 23932 10.344600 4.322497
./queries/madrid/10k-starts-with-x-ends-with-y.txt 370210 10000 23398 37.021000 15.822293
./queries/madrid/10k-starts-with-x-ends-with-y.txt 239621 10000 23049 23.962100 10.396156
./queries/madrid/10k-starts-with-x-ends-with-y.txt 942804 10000 24628 94.280400 38.281793
./queries/madrid/10k-starts-with-x-ends-with-y.txt 928997 10000 23568 92.899700 39.417727
./queries/madrid/10k-starts-with-x-ends-with-y.txt 343599 10000 23341 34.359900 14.720835
./queries/madrid/10k-starts-with-x-ends-with-y.txt 338394 10000 23062 33.839400 14.673229
./queries/madrid/10k-starts-with-x-ends-with-y.txt 713207 10000 24483 71.320700 29.130703
./queries/madrid/10k-starts-with-x-ends-with-y.txt 502609 10000 23394 50.260900 21.484526
./queries/madrid/10k-starts-with-x-ends-with-y.txt 385325 10000 23201 38.532500 16.608120
./queries/madrid/10k-starts-with-x-ends-with-y.txt 250145 10000 22894 25.014500 10.926225
TTCTR (psi=32 times=RRR32)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 74225 10000 773297 7.422500 0.095985
./queries/madrid/10k-starts-with-x-ends-with-y.txt 73333 10000 739183 7.333300 0.099208
./queries/madrid/10k-starts-with-x-ends-with-y.txt 319060 10000 721512 31.906000 0.442210
./queries/madrid/10k-starts-with-x-ends-with-y.txt 310673 10000 712911 31.067300 0.435781
./queries/madrid/10k-starts-with-x-ends-with-y.txt 223875 10000 25069 22.387500 8.930352
./queries/madrid/10k-starts-with-x-ends-with-y.txt 111179 10000 23932 11.117900 4.645621
./queries/madrid/10k-starts-with-x-ends-with-y.txt 399246 10000 23398 39.924600 17.063253
./queries/madrid/10k-starts-with-x-ends-with-y.txt 256249 10000 23049 25.624900 11.117576
./queries/madrid/10k-starts-with-x-ends-with-y.txt 960258 10000 24628 96.025800 38.990499
./queries/madrid/10k-starts-with-x-ends-with-y.txt 943832 10000 23568 94.383200 40.047183
./queries/madrid/10k-starts-with-x-ends-with-y.txt 353875 10000 23341 35.387500 15.161090
./queries/madrid/10k-starts-with-x-ends-with-y.txt 348674 10000 23062 34.867400 15.118984
./queries/madrid/10k-starts-with-x-ends-with-y.txt 745286 10000 24483 74.528600 30.440959
./queries/madrid/10k-starts-with-x-ends-with-y.txt 530161 10000 23394 53.016100 22.662264
./queries/madrid/10k-starts-with-x-ends-with-y.txt 411108 10000 23201 41.110800 17.719409
./queries/madrid/10k-starts-with-x-ends-with-y.txt 273896 10000 22894 27.389600 11.963659
TTCTR (psi=32 times=RRR128)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 74953 10000 773297 7.495300 0.096927
./queries/madrid/10k-starts-with-x-ends-with-y.txt 72794 10000 739183 7.279400 0.098479
./queries/madrid/10k-starts-with-x-ends-with-y.txt 311528 10000 721512 31.152800 0.431771
./queries/madrid/10k-starts-with-x-ends-with-y.txt 308038 10000 712911 30.803800 0.432085
./queries/madrid/10k-starts-with-x-ends-with-y.txt 229731 10000 25069 22.973100 9.163948
./queries/madrid/10k-starts-with-x-ends-with-y.txt 118132 10000 23932 11.813200 4.936152
./queries/madrid/10k-starts-with-x-ends-with-y.txt 418043 10000 23398 41.804300 17.866613
./queries/madrid/10k-starts-with-x-ends-with-y.txt 277096 10000 23049 27.709600 12.022040
./queries/madrid/10k-starts-with-x-ends-with-y.txt 969119 10000 24628 96.911900 39.350292
./queries/madrid/10k-starts-with-x-ends-with-y.txt 950141 10000 23568 95.014100 40.314876
./queries/madrid/10k-starts-with-x-ends-with-y.txt 361208 10000 23341 36.120800 15.475258
./queries/madrid/10k-starts-with-x-ends-with-y.txt 354203 10000 23062 35.420300 15.358729
./queries/madrid/10k-starts-with-x-ends-with-y.txt 770985 10000 24483 77.098500 31.490626
./queries/madrid/10k-starts-with-x-ends-with-y.txt 551073 10000 23394 55.107300 23.556168
./queries/madrid/10k-starts-with-x-ends-with-y.txt 441815 10000 23201 44.181500 19.042929
./queries/madrid/10k-starts-with-x-ends-with-y.txt 297222 10000 22894 29.722200 12.982528
TTCTR (psi=128 times=RG32)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 119368 10000 773278 11.936800 0.154366
./queries/madrid/10k-starts-with-x-ends-with-y.txt 115833 10000 739164 11.583300 0.156708
./queries/madrid/10k-starts-with-x-ends-with-y.txt 650466 10000 721481 65.046600 0.901571
./queries/madrid/10k-starts-with-x-ends-with-y.txt 647597 10000 712885 64.759700 0.908417
./queries/madrid/10k-starts-with-x-ends-with-y.txt 327430 10000 25068 32.743000 13.061672
./queries/madrid/10k-starts-with-x-ends-with-y.txt 152110 10000 23931 15.211000 6.356191
./queries/madrid/10k-starts-with-x-ends-with-y.txt 641686 10000 23395 64.168600 27.428339
./queries/madrid/10k-starts-with-x-ends-with-y.txt 417717 10000 23046 41.771700 18.125358
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2148426 10000 24626 214.842600 87.242183
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2125791 10000 23566 212.579100 90.205847
./queries/madrid/10k-starts-with-x-ends-with-y.txt 680731 10000 23339 68.073100 29.167102
./queries/madrid/10k-starts-with-x-ends-with-y.txt 677051 10000 23060 67.705100 29.360408
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1459149 10000 24477 145.914900 59.613065
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1044255 10000 23391 104.425500 44.643453
./queries/madrid/10k-starts-with-x-ends-with-y.txt 652289 10000 23198 65.228900 28.118329
./queries/madrid/10k-starts-with-x-ends-with-y.txt 430849 10000 22891 43.084900 18.821764
TTCTR (psi=128 times=RRR32)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 117881 10000 773278 11.788100 0.152443
./queries/madrid/10k-starts-with-x-ends-with-y.txt 115900 10000 739164 11.590000 0.156799
./queries/madrid/10k-starts-with-x-ends-with-y.txt 651971 10000 721481 65.197100 0.903657
./queries/madrid/10k-starts-with-x-ends-with-y.txt 644948 10000 712885 64.494800 0.904701
./queries/madrid/10k-starts-with-x-ends-with-y.txt 338117 10000 25068 33.811700 13.487993
./queries/madrid/10k-starts-with-x-ends-with-y.txt 159916 10000 23931 15.991600 6.682379
./queries/madrid/10k-starts-with-x-ends-with-y.txt 661339 10000 23395 66.133900 28.268391
./queries/madrid/10k-starts-with-x-ends-with-y.txt 436823 10000 23046 43.682300 18.954396
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2161043 10000 24626 216.104300 87.754528
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2137640 10000 23566 213.764000 90.708648
./queries/madrid/10k-starts-with-x-ends-with-y.txt 692348 10000 23339 69.234800 29.664853
./queries/madrid/10k-starts-with-x-ends-with-y.txt 681267 10000 23060 68.126700 29.543235
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1489114 10000 24477 148.911400 60.837276
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1069330 10000 23391 106.933000 45.715446
./queries/madrid/10k-starts-with-x-ends-with-y.txt 681827 10000 23198 68.182700 29.391629
./queries/madrid/10k-starts-with-x-ends-with-y.txt 451227 10000 22891 45.122700 19.711983
TTCTR (psi=128 times=RRR128)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 117609 10000 773278 11.760900 0.152091
./queries/madrid/10k-starts-with-x-ends-with-y.txt 115492 10000 739164 11.549200 0.156247
./queries/madrid/10k-starts-with-x-ends-with-y.txt 652767 10000 721481 65.276700 0.904760
./queries/madrid/10k-starts-with-x-ends-with-y.txt 646186 10000 712885 64.618600 0.906438
./queries/madrid/10k-starts-with-x-ends-with-y.txt 343632 10000 25068 34.363200 13.707994
./queries/madrid/10k-starts-with-x-ends-with-y.txt 163352 10000 23931 16.335200 6.825958
./queries/madrid/10k-starts-with-x-ends-with-y.txt 689588 10000 23395 68.958800 29.475871
./queries/madrid/10k-starts-with-x-ends-with-y.txt 455326 10000 23046 45.532600 19.757268
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2172582 10000 24626 217.258200 88.223098
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2145692 10000 23566 214.569200 91.050327
./queries/madrid/10k-starts-with-x-ends-with-y.txt 698546 10000 23339 69.854600 29.930417
./queries/madrid/10k-starts-with-x-ends-with-y.txt 691131 10000 23060 69.113100 29.970989
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1517583 10000 24477 151.758300 62.000368
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1094260 10000 23391 109.426000 46.781241
./queries/madrid/10k-starts-with-x-ends-with-y.txt 710323 10000 23198 71.032300 30.620010
./queries/madrid/10k-starts-with-x-ends-with-y.txt 477566 10000 22891 47.756600 20.862610
TTCTR (psi=512 times=RG32)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 284616 10000 769820 28.461600 0.369718
./queries/madrid/10k-starts-with-x-ends-with-y.txt 283683 10000 736048 28.368300 0.385414
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1951221 10000 716950 195.122100 2.721558
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1933684 10000 708493 193.368400 2.729292
./queries/madrid/10k-starts-with-x-ends-with-y.txt 781729 10000 24948 78.172900 31.334335
./queries/madrid/10k-starts-with-x-ends-with-y.txt 346904 10000 23818 34.690400 14.564783
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1697054 10000 22932 169.705400 74.003750
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1123130 10000 22587 112.313000 49.724620
./queries/madrid/10k-starts-with-x-ends-with-y.txt 6296455 10000 24465 629.645500 257.365829
./queries/madrid/10k-starts-with-x-ends-with-y.txt 6243974 10000 23417 624.397400 266.642781
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1979101 10000 23189 197.910100 85.346544
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1962220 10000 22915 196.222000 85.630373
./queries/madrid/10k-starts-with-x-ends-with-y.txt 4076025 10000 24009 407.602500 169.770711
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2942700 10000 22931 294.270000 128.328464
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1710116 10000 22738 171.011600 75.209605
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1133863 10000 22435 113.386300 50.539915
TTCTR (psi=512 times=RRR32)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 284471 10000 769820 28.447100 0.369529
./queries/madrid/10k-starts-with-x-ends-with-y.txt 281190 10000 736048 28.119000 0.382027
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1960758 10000 716950 196.075800 2.734860
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1944368 10000 708493 194.436800 2.744372
./queries/madrid/10k-starts-with-x-ends-with-y.txt 792630 10000 24948 79.263000 31.771284
./queries/madrid/10k-starts-with-x-ends-with-y.txt 351175 10000 23818 35.117500 14.744101
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1727037 10000 22932 172.703700 75.311224
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1146799 10000 22587 114.679900 50.772524
./queries/madrid/10k-starts-with-x-ends-with-y.txt 6347663 10000 24465 634.766300 259.458941
./queries/madrid/10k-starts-with-x-ends-with-y.txt 6289205 10000 23417 628.920500 268.574326
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2000383 10000 23189 200.038300 86.264306
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1981891 10000 22915 198.189100 86.488806
./queries/madrid/10k-starts-with-x-ends-with-y.txt 4126842 10000 24009 412.684200 171.887292
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2985221 10000 22931 298.522100 130.182766
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1745733 10000 22738 174.573300 76.776014
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1175329 10000 22435 117.532900 52.388188
TTCTR (psi=512 times=RRR128)
./queries/madrid/10k-starts-with-x-ends-with-y.txt 284580 10000 769820 28.458000 0.369671
./queries/madrid/10k-starts-with-x-ends-with-y.txt 283221 10000 736048 28.322100 0.384786
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1958769 10000 716950 195.876900 2.732086
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1944818 10000 708493 194.481800 2.745007
./queries/madrid/10k-starts-with-x-ends-with-y.txt 800254 10000 24948 80.025400 32.076880
./queries/madrid/10k-starts-with-x-ends-with-y.txt 357740 10000 23818 35.774000 15.019733
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1752494 10000 22932 175.249400 76.421333
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1167516 10000 22587 116.751600 51.689733
./queries/madrid/10k-starts-with-x-ends-with-y.txt 6356356 10000 24465 635.635600 259.814265
./queries/madrid/10k-starts-with-x-ends-with-y.txt 6297720 10000 23417 629.772000 268.937951
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2006878 10000 23189 200.687800 86.544396
./queries/madrid/10k-starts-with-x-ends-with-y.txt 2095610 10000 22915 209.561000 91.451451
./queries/madrid/10k-starts-with-x-ends-with-y.txt 4154606 10000 24009 415.460600 173.043692
./queries/madrid/10k-starts-with-x-ends-with-y.txt 3006347 10000 22931 300.634700 131.104051
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1773671 10000 22738 177.367100 78.004706
./queries/madrid/10k-starts-with-x-ends-with-y.txt 1189629 10000 22435 118.962900 53.025585
TTCTR (psi=32 times=RG32)
xy
./queries/madrid/10k-starts-with-x-ends-with-y.txt 711027 100000 7732970 7.110270 0.091947
......
......@@ -39,10 +39,16 @@ def main(argv):
# gen_q("%s:%s %s:%s" % (nodes[0], nodes[1], nodes[-3], nodes[-2]), fw, 15)
# fw.close()
fw = open(path + "10k-ends-with-x.txt", "w+")
# fw = open(path + "10k-ends-with-x.txt", "w+")
# for s in random.sample(sys.stdin.readlines(), Q):
# nodes = filter(None, re.split(',|:|\n', s))
# gen_q("%s:%s" % (nodes[-3], nodes[-2]), fw, 1)
# fw.close()
fw = open(path + "10k-uses-x.txt", "w+")
for s in random.sample(sys.stdin.readlines(), Q):
nodes = filter(None, re.split(',|:|\n', s))
gen_q("%s:%s" % (nodes[-3], nodes[-2]), fw, 1)
gen_q("%s:%s" % (nodes[0], nodes[1]), fw, 7)
fw.close()
def main2(argv):
......
......@@ -143,14 +143,17 @@
#../benchmark indexes/madrid_lines indexes/madrid_lines ./queries/madrid/top-100.txt 0 1000
echo 'TTCTR (psi='$2' lines='$3' times='$4')'
echo 'xy'
../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-starts-with-x-ends-with-y.txt 0 100000
echo 'start x'
../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-starts-with-x.txt 0 100000
echo 'end x'
../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-ends-with-x.txt 0 100000
echo ''
# echo 'xy'
# ../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-starts-with-x-ends-with-y.txt 0 100000
# echo 'start x'
# ../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-starts-with-x.txt 0 100000
# echo 'end x'
# ../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-ends-with-x.txt 0 100000
echo 'board x'
../benchmark indexes/$1$2 indexes/$1_$3 indexes/$1_$4 ./queries/madrid/10k-uses-x.txt 0 100000
# echo ''
#../benchmark indexes/madrid_lines indexes/madrid_lines indexes/madrid_lines ./queries/madrid/10k-starts-with-x-ends-with-y.txt 0 10000
#../benchmark indexes/madrid_lines indexes/madrid_lines indexes/madrid_lines ./queries/madrid/10k-starts-with-x.txt 0 10000
#../benchmark indexes/madrid_lines indexes/madrid_lines indexes/madrid_lines ./queries/madrid/10k-ends-with-x.txt 0 10000
#../benchmark indexes/madrid_lines indexes/madrid_lines indexes/madrid_lines ./queries/madrid/10k-uses-x.txt 0 10000
\ No newline at end of file
This diff is collapsed.
......@@ -34,7 +34,7 @@ QueryType queryTypes[16] = {
{4, 1, true, get_top_k},
{5, 1, false, get_starts_or_ends_with_x},
{6, 1, true, get_top_k_starts},
{7, 1, false, get_uses_x},
{7, 2, false, get_uses_x},
{8, 2, false, get_from_x_to_y_strong},
{9, 2, false, get_from_x_to_y_weak},
{10, 0, false, get_uses_x},
......
......@@ -1260,6 +1260,61 @@ uint inline encodeStop(twcsa *g, uint lineId, uint stopId) {
return mapID(g, STOPS + stopId * STOPS_LINE + lineId, NODE);
}
int get_uses_x(void *index, TimeQuery *query) {
if ((query->subtype & (XY_LINE_START | XY_TIME_START)) != query->subtype) {
return 0;
}
twcsa *g = (twcsa *)index;
ulong numocc = 0, lu = 0, ru = 0;
pair<int, int> res;
const auto lineId = query->values[0];
const auto stopId = query->values[1];
uint u = mapID(g, stopId, NODE);
uint pattern[2] = {u, 0};
const auto linesWM = dynamic_cast<std::vector<WaveletMatrix *>*>((std::vector<WaveletMatrix *>*)g->linesIndex);
if (linesWM == NULL) {
std::cerr << "Either use WM or implement the trackUp operation in the WT!" << std::endl;
throw std::bad_cast();
}
countIntIndex(g->myicsa, pattern, 2, &numocc, &lu, &ru);
const auto stop_offset = lu;
lu = ru+1;
ru = selectStop(g, u+1);
numocc = ru-lu;
if (numocc && query->subtype) {
if (ru < g->n) ru--;
const auto start_time = query->time->h_start;
const auto end_time = query->time->h_end;
std::vector<uint16_t> lines;
numocc = 0;
ulong n = 0;
if ((query->subtype & (XY_LINE_START | XY_TIME_START)) == XY_TIME_START) {
query->subtype |= XY_LINE_START;
lines = g->stopLines->at(query->values[1]);
} else {
lines.push_back(query->values[0]);
}
for (const auto &line : lines) {
n = getRange(linesWM->at(u), lu-stop_offset, ru-stop_offset, line, line, &res);
if (n && query->subtype & XY_TIME_START) {
const auto jcodes = getJCodes(g, line, query->values[1], start_time, end_time);
n = getTimeRange(g, stop_offset+res.first, stop_offset+res.second, jcodes.first, jcodes.second);
}
numocc += n;
}
}
return numocc;
}
int get_starts_with_x(void *index, TimeQuery *query) {
if ((query->subtype & (XY_LINE_START | XY_TIME_START)) != query->subtype) {
return 0;
......@@ -1965,75 +2020,6 @@ int get_starts_or_ends_with_x(void *index, TimeQuery *query) {
}
int get_uses_x(void *index, TimeQuery *query) {
twcsa *g = (twcsa *)index;
ulong numocc = 0, lu = 0, ru = 0;
if (g->baseline) {
const auto u = mapID(g, query->values[0], NODE);
const auto &times = g->baseline->usesX->at(u);
if (query->time) {
numocc = 0;
if (query->time->h_end < query->time->h_start) {
for (auto i = times.begin(); i != times.upper_bound(query->time->h_end); i++) {
numocc += i->second;
}
for (auto i = times.lower_bound(query->time->h_start); i != times.end(); i++) {
numocc += i->second;
}
} else {
for (auto i = times.lower_bound(query->time->h_start); i != times.upper_bound(query->time->h_end); i++) {
numocc += i->second;
}
}
} else {
numocc = times.size() > 0 ? times.begin()->second : 0;
}
return numocc;
}
//notice that:
//select(0) is 0
//select(1) is 1
//select(2) is the first stop after the $
//select(x+1) is where the stops x start
if (query->type->nValues) {
uint u = mapID(g, query->values[0], NODE);
if (u+1 >= g->map_size) {
lu = getSelecticsa(g->myicsa, u+1);
ru = g->n - 1;
} else {
lu = getSelecticsa(g->myicsa, u+1);
ru = getSelecticsa(g->myicsa, u+2)-1;
}
// printf("%lu %lu %lu %lu\n", g->map_size, u, lu, ru);
} else {
lu = getSelecticsa(g->myicsa, 2);
ru = g->n-1;
}
numocc = ru - lu + 1;
if (query->time) {
Sequence *wm = (Sequence *)g->myTimesIndex;
numocc = getRange(g, lu, ru, query->time->h_start, query->time->h_end);
// numocc = getRange(g, lu, ru, query->time->h_start, query->time->h_start);
// numocc = wm->rank(query->time->h_start, ru) - wm->rank(query->time->h_start, lu);
}
// printf("%lu %lu %lu\n", numocc, lu, ru);
return numocc;
}
/**************************/
//** debugging only
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment