#247: mln_min() of a floating type is not the effective minimum of the range
value
-----------------------------------------------------+----------------------
Reporter: David Coeurjolly and Julien Marquegnies | Owner: Olena Team
Type: defect | Status: new
Priority: critical | Milestone:
Component: Milena | Version: 2.0
Keywords: |
-----------------------------------------------------+----------------------
According to David Coeurjolly
{{{
int main()
{
mln::accu::stat::max<double> mm;
mm.init();
mm.take(-0.02);
mm.take(-0.92);
mm.take(-0.03);
std::cout<<" max= "<<mm.to_result()<<std::endl;
}
}}}
In many situations (w/o init, w/o 'to_result() method in the ostream), I
always get a wrong value (2.22-308, which seems to be min_val for positive
double).
Julien Marquegnies confirmed that mln_min(double) or mln_min(float)
returns DBL_MIN instead of -DBL_MAX.
According to the meaning of mln_min/max which are supposed to give the
lower and upper bounds of the range values, returning -DBL_MAX
'''should''' fix the issue.
--
Ticket URL: <https://trac.lrde.org/olena/ticket/247>
Olena <http://olena.lrde.epita.fr>
Olena, a software platform dedicated to image processing.