This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
When SCM_SINGLES is defined, Guile may represent some inexact numbers as a pair whose CAR contains magic typing information, and whose CDR contains the floating point value. The checks in the configure script are trying to make sure the floating point value can fit inside the CDR. However, there's no requirement that the sizes be exactly equal; only that a float fit inside a long. I think the authors didn't expect to encounter a machine where sizeof (float) < sizeof (long); is that true on the alpha? Anyway, the tests can be changed to define SCM_SINGLES when sizeof (float) <= sizeof (long). Hmm. So, on the alpha, is sizeof (double) == sizeof (long)? If so, then we should be able to define something analogous to SCM_SINGLES called SCM_DOUBLES, where doubles are stored directly in the cdr...