Re: [AC21.5] Texinfo manual kilo-patch
Jeff Mincy <[email protected]> Fri, 30 Apr 2004 09:29:13 -0400
| Newsgroups | gmane.emacs.xemacs.design |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 30 Apr 2004, [email protected] wrote: > On Fri, Apr 30, 2004 at 08:31:36PM +0900, Stephen J. Turnbull wrote: >> Let's move this to xemacs-design > > Agreed. > >> >>>>> "Hrvoje" == Hrvoje Niksic <[email protected]> writes: >> >> Hrvoje> Non-bignum XEmacs basically does what C does, which sets >> Hrvoje> the expectation quite low. I was wondering if a bignum >> Hrvoje> XEmacs could do better for floating point operations, like >> Hrvoje> it does better for integers. >> >> Yes, it can, but not automatically and reliably. Assuming that >> mantissas of bigfloats are not represented in a base evenly divisible >> by 3, what precision should >> >> (* 1.0 1/3) >> >> have? > > Good point. Which reminds me: now that we have rationals, do we > even want to do floating point contagion? Think of it this way: > any FP number can be converted to a rational without loss of > precision, while the reverse doesn't hold. Yep, this is true, floating point numbers can be converted to rational: In clisp, the conversion can be done by using either rational or rationalize: * (rational (float 1/3)) 11184811/33554432 * (rationalize (float 1/3)) 1/3 *(= (float 11184811/33554432) (float 1/3)) T > In other words, would > anything break if (* 1.0 1/3) converted 1.0 to 1/1 and returned > 1/3? Yes, this would break compatibility with common lisp. CMU Common Lisp 18d.. * (* 1.0 1/3) 0.33333334 -jeff