3 ms·
I think this depends on implementation. I don't know exactly what the grandfather means by BigFloat, but by analogy with BigInteger, I assume it's arbitrary pr
by spacehome 11y ago
I think this depends on implementation. I don't know exactly what the grandfather means by BigFloat, but by analogy with BigInteger, I assume it's arbitrary precision.
- SixSigma 11y agoArbitrary means the epsilon is chosen, not unbounded. I have just also realised that delta would be 0 if < epsilon. So the invariant delta > 0, break when false. (I think, the OP is my introduction to invariant loops). Scheme, for instance, has a 32 bit mantissa for BigFloat by default [1] Haskell's mantissa precision is determined by the type of the mantissa when created [2] For GNU MPFR "the precision in bits can be set exactly to any valid value" [3] which is what is used in Lisp, Python, Perl, Racket, Java, ADA, Ruby & Eiffel. [1] https://github.com/55portal55/bigfloat/blob/master/bigfloat.scm https://github.com/55portal55/bigfloat/blob/master/bigfloat.... [2] https://hackage.haskell.org/package/numbers-3000.2.0.1/docs/Data-Number-BigFloat.html https://hackage.haskell.org/package/numbers-3000.2.0.1/docs/... [3] http://www.mpfr.org/mpfr-current/mpfr.html http://www.mpfr.org/mpfr-current/mpfr.html
- spacehome 11y ago> Arbitrary means the epsilon is chosen, not unbounded. This is not the commonly understood nomenclature, notwithstanding what some languages call a BigFloat. See: https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic In any case, it's clearly not what Rhapso intended, either, because otherwise his code snippet wouldn't exhaust memory.