<div><br></div><div>Hi, </div><div><br></div><div>I am now confused with the Interpolative Coding Algorithm, I failed in grasping the main idea of this algorithm by reading xapian source code. And it seems that there is not much resource about this algorithm in the Internet. </div><div><br></div><div>In bitstream.h, I'm confused with the function </div><div>void BitWriter::encode( size_t value, size_t outof ),</div><div>I can't grasp the exact meaning of the two parameters.</div><div><br></div><div>And in </div><div>void BrassPositionListTable::pack(string & s,const vector<Xapian::termpos> & vec) const,</div><div>I don't know why this function calls <span class="Apple-tab-span" style="line-height: 1.5; white-space: pre;">  </span></div><div><span style="line-height: 1.5;">wr.encode(vec[0], vec.back());</span></div><div>wr.encode(vec.size() - 2, vec.back() - vec[0]);</div><div><br></div><div>Would you like to offer me some documents about this algorithm?</div><div><br></div><div><br></div><div><br></div><div><br></div><div><div style="color:#909090;font-family:Arial Narrow;font-size:12px">------------------</div><div style="font-size:14px;font-family:Verdana;color:#000;">HurricaneTong,<div>Second Year Undergraduate,</div><div>School of Computer Science,</div><div>Fudan University, China.</div></div></div><div> </div>