what are you complaining about?Nothing, no complaints at all ... mainly just trying to fathom whether the Math::MPFR object returned by "Math::MPFR->new()" (whose
value is NaN) should be true or false.
The object returned by "Math::MPFR->new(0)" is false because its
value is 0, and it seems anomalous to me that "Math::MPFR->new()" should be deemed true even though it has been assigned
no value at all.
I could rewrite the module so that "Math::MPFR->new()" returns an object whose
value is zero (or some other randomly chosen number), but that would be deviating from the way the mpfr C library behaves.
Sorry - must've misunderstood your point. (I'm pretty thick.)
A post to the mpfr mailing list returned the info that when both ECMAScript and XPath convert a number to the boolean type, "the result is false if
the argument is +0, -0, or NaN; otherwise the result is true."
Hardly compelling stuff, but at least it makes me feel a bit less like a fucking freak.
Anyway, I'll just leave Math::MPFR as is for now - ie Math::MPFR objects whose
values are 0, -0 or NaN are false, all other Math::MPFR objects are true . No-one has yet complained about it, and I don't anticipate that anyone ever will.
Many thanks to all respondents (including
you) ... many interesting approaches and views.
Cheers,
Rob