<div dir="ltr">> <span style="font-size:12.8px">Two of those are compile errors, suggesting you aren't pulling in the</span><br style="font-size:12.8px"><span style="font-size:12.8px">> right header file (it's in common/serialise-double.h I believe).</span><br style="font-size:12.8px"><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks, fixed those errors.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">> </span><span style="font-size:12.8px">I can't tell for sure without seeing the diff. You may mean just</span></div><span style="font-size:12.8px">> `ptr++`? But it could be something else, depending on what you're</span><br style="font-size:12.8px"><span style="font-size:12.8px">> trying to do.</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I'm trying to unserialise normalization strings (e.g. "nfn", "nbsl"  etc.) along with the new double parameters (s and delta) but</span><br></div><div><span style="font-size:12.8px">it isn't turning out to be smooth because there's no method for unserialising strings in serialise-double.h</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Although, doing just</span><br></div><div><span style="font-size:12.8px"><font face="monospace, monospace"><br></font></span></div><div><span style="font-size:12.8px"><font face="monospace, monospace"><font color="#20124d">const string normals = ptr++;</font> or</font><font face="arial, helvetica, sans-serif">, </font></span><span style="font-family:monospace,monospace;font-size:12.8px"><font color="#20124d">const string normals = static_cast<const string>ptr++;</font></span><span style="font-family:monospace,monospace;font-size:12.8px"> </span><span style="font-size:12.8px">fixes compile errors.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">But tfidfweight3 test case is failing with remote backends :-</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><font face="monospace, monospace" color="#20124d"><span style="font-size:12.8px">$ ./runtest gdb ./apitest -v tfidfweight3</span><br></font></div><div><span style="font-size:12.8px"><font face="monospace, monospace" color="#20124d"><br></font></span></div><div><font face="monospace, monospace" color="#20124d"><span style="font-size:12.8px">Running test: tfidfweight3... SerialisationError: REMOTE:Bad encoded double: short mantissa (context: remote:prog(../bin/xapian-progsrv -t300000 .glass/db=apitest_simpledata)</span><br></font></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I'm wondering if I need to introduce a new method in serialise-double.h for string parameters (normalizations in this case)? To be honest, </span><span style="font-size:12.8px">I have little idea about that part of Xapian so probably a workaround might be better. :)</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks,</span></div><div><span style="font-size:12.8px">Vivek</span></div><div><br></div><div><span style="font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 28, 2016 at 3:14 AM, James Aylett <span dir="ltr"><<a href="mailto:james-xapian@tartarus.org" target="_blank">james-xapian@tartarus.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, Jul 27, 2016 at 11:38:58PM +0530, Vivek Pal wrote:<br>
<br>
> But I'm running into some issues with Piv+ normalization. In the Piv+<br>
> formula  , there are two parameters (s and delta) that control the weight<br>
> assigned. I think the way I'm serialising and unserialising these<br>
> parameters has some issues which is causing a few errors,<br>
> <a href="http://pastebin.com/yCyuvF1X" rel="noreferrer" target="_blank">http://pastebin.com/yCyuvF1X</a>.  Any suggestion is appreciated!<br>
<br>
</span>Two of those are compile errors, suggesting you aren't pulling in the<br>
right header file (it's in common/serialise-double.h I believe).<br>
<br>
This one:<br>
<br>
----------------------------------------------------------------------<br>
weight/tfidfweight.cc: In member function 'virtual<br>
Xapian::TfIdfWeight* Xapian::TfIdfWeight::unserialise(const string&)<br>
const':<br>
<br>
weight/tfidfweight.cc:87:37: error: conversion from 'const char' to<br>
non-scalar type 'const string {aka const<br>
std::__cxx11::basic_string<char>}' requested<br>
<br>
     const string normals = (*(ptr)++);<br>
                                     ^<br>
----------------------------------------------------------------------<br>
<br>
I can't tell for sure without seeing the diff. You may mean just<br>
`ptr++`? But it could be something else, depending on what you're<br>
trying to do.<br>
<span class=""><br>
> Also, I was wondering if we want to have pivoted normalization weighting as<br>
> a separate weighting scheme in Xapian as it will make a way to add support<br>
> of different variations of pivoted normalization in the future?<br>
<br>
</span>This is more of a question for Olly, who I believe should be back on<br>
reliable internet later this week.<br>
<span class="HOEnZb"><font color="#888888"><br>
J<br>
<br>
--<br>
  James Aylett, occasional trouble-maker<br>
  <a href="http://xapian.org" rel="noreferrer" target="_blank">xapian.org</a><br>
<br>
</font></span></blockquote></div><br></div>