The "precision" parameter in galago eval (which is used to control the eval result precision) is defined as String in Java while it is actually an int. Because galago automatically converts all strings with numbers only (e.g., "4") as long or double, we cannot set the "precision" parameter (it will cause an error saying that "only String is acceptable").
Can you upload an example of this behavior?
For example, when we run
galago eval --precision=4 --metrics+map --judgments=xxx.qrels --runs+xx.ranklist
We will have the following error:
After changing Eval.java to set "precision" as a int parameter, everything will be fine.
Note: this only happens when using the "--runs+" parameter, in other cases (such as using "--baseline") this parameter is ignored (probably why it's undocumented).
I see. I think the parameter is quite handy sometime, so I create a version of galago myself to support it. Just mention it here in case we want to support it in the future.
fixed in commit https://sourceforge.net/p/lemur/galago/ci/c5e16a4abebb207cc0b676d68644eefa97daef72/