fix interpolation corner case
This commit is contained in:
parent
c4f41c6d31
commit
ca84805cfc
|
@ -1105,8 +1105,13 @@ void tBlockDataGetColData(SBlockData *pBlockData, int16_t cid, SColData **ppColD
|
|||
int32_t ridx = pBlockData->nColData - 1;
|
||||
|
||||
while (lidx <= ridx) {
|
||||
int32_t midx = lidx + (ridx - lidx) * (cid - pBlockData->aColData[lidx].cid) /
|
||||
(pBlockData->aColData[ridx].cid - pBlockData->aColData[lidx].cid);
|
||||
int32_t midx;
|
||||
if (lidx == ridx) {
|
||||
midx = lidx;
|
||||
} else {
|
||||
midx = lidx + (ridx - lidx) * (cid - pBlockData->aColData[lidx].cid) /
|
||||
(pBlockData->aColData[ridx].cid - pBlockData->aColData[lidx].cid);
|
||||
}
|
||||
SColData *pColData = tBlockDataGetColDataByIdx(pBlockData, midx);
|
||||
int32_t c = (pColData->cid == cid) ? 0 : ((pColData->cid > cid) ? 1 : -1);
|
||||
|
||||
|
|
Loading…
Reference in New Issue