On quarta-feira, 21 de setembro de 2016 03:56:31 PDT Kevin Kofler wrote: > Thiago Macieira wrote: > > And I will reject any patch that adds more complexity in qFuzzyCompare for > > a 0.01% corner-case. Instead, we should document that it only works for > > finite numbers far enough away from zero. If your number can be infinite > > or NaN or zero, you have to find something else. > > This is just ridiculous, the code would be fixing a clear bug, and avoid > having to very dangerously change the behavior of QVariant.
The clear bug is in QVariant and my original patch fixed qvariant.cpp numericCompare function. It's ok to call fpclassify() there, since QVariant comparison is not expected to be really fast. Besides, it's out-of-line code. However, I will oppose adding fpclassify() or isinf() to qFuzzyCompare. That function has existed for 10 years (or more) and this is this is the first we ever discuss it having a problem. The bug report isn't even about qFuzzyCompare, so as far as I know, no user has ever complained about it not working for infinities. I do remember a discussion some 8 or 9 years ago about using qFuzzyCompare to compare to zero. That's why qFuzzyIsNull exists. Which also means that QVariant comparisons to exact-zero or when the numbers are close to zero aren't fuzzy. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development