[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scm_bits_t / scm_ubits_t
From: |
Marius Vollmer |
Subject: |
Re: scm_bits_t / scm_ubits_t |
Date: |
26 May 2001 13:13:18 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.0.102 |
Michael Livshin <address@hidden> writes:
> Marius Vollmer <address@hidden> writes:
>
> > Moreover, I think I want to reserve judgment about the whole change.
>
> FWIW, I'll revert the controversial changes within the next two days.
> sorry about the whole thing.
Hmm, yes, if that is easy to do for you, please do so. However, it is
probably also OK just to fix a few things about that change, without
reverting it completely.
It's good that you did that work.
The main thing to fix as far as I can see it, is that you use
scm_bits_t (scm_ubits_t) as a numerical type. We should probably just
define a new type that is as large as scm_bits_t and make a signed and
a unsigned variant of it so that it can be used as a numerical type
(or just say that one can stick "unsigned" in front of it). That type
will be large enough to enumerate all objects that can be represented
by a (packed) scm_bits_t, that is, it is large enough to hold the
length of all possible lists, of all possible vectors, etc. What
about naming that type scm_length_t? (And scm_ulength_t).
> the whole mess was motivated by me reading the latest (well, draft)
> ANSI C standard and noticing that `long' is no longer required to be
> the widest integral type...
How do we get at the integral type that is guaranteed to hold all
pointers?
- scm_bits_t / scm_ubits_t, Dirk Herrmann, 2001/05/25
- Re: scm_bits_t / scm_ubits_t, Marius Vollmer, 2001/05/25
- Re: scm_bits_t / scm_ubits_t, Michael Livshin, 2001/05/25
- Re: scm_bits_t / scm_ubits_t, Jacques A. Vidrine, 2001/05/26
- Re: scm_bits_t / scm_ubits_t, Marius Vollmer, 2001/05/30
- Re: scm_bits_t / scm_ubits_t, Dirk Herrmann, 2001/05/31
- Re: scm_bits_t / scm_ubits_t, Marius Vollmer, 2001/05/31