After looking a little closer at the code, I see that the ibis::column
functions do most of the work. It looks like there is a bug in some of the
ibis::column::evaluateRange() functions. For example, after searchSorted(cmp,
low) populates the bitvector to mark rows that match values in cmp, but the
mask is ignored:
try {
ierr = -1;
if (m_sorted) {
ierr = searchSorted(cmp, low);
}
else if (thePart != 0 && thePart->currentDataDir() != 0) {
// use a sorted list
ibis::roster ros(this);
if (ros.size() == thePart->nRows()) {
ierr = ros.locate(cmp.getValues(), low);
/*
move this block outside so it applies to searchSorted(cmp, low) too.
if (ierr > 0) {
low &= mask;
ierr = low.sloppyCount();
}
*/
}
}
if (ierr > 0) {
low &= mask;
ierr = low.sloppyCount();
}
if (ierr < 0 && thePart != 0) {
ierr = thePart->doScan(cmp, mask, low);
}
On Oct 17, 2012, at 10:10 PM, K. John Wu wrote:
Hi, Andrew,
It appears the templated constructors you are trying to use are not
instantiated in the library (because they are not used in the FastBit
code itself). I have converted them to fixed type, which should not
have this problem. Please take a look at the code in SVN revision 591.
Thanks for the follow up on this issue.
John
On 10/17/12 10:05 AM, Olson, Andrew wrote:
Hi John,
Sorry to bother you again about this, but I'd like to be able to
run some tests comparing the qDiscreteRange, qUIntHod, and my
qUIntSpan. Do you know why I'm not able to use qUintHod in the
manner shown below?
Andrew
_______________________________________________
FastBit-users mailing list
[email protected]
https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users