Emacs also has `most-negative-fixnum' and `most-positive-fixnum' (borrowed from Common Lisp but now part of the core). On my 64-bit system (GNU Emacs 30.0.50 on aarch64-apple-darwin22.5.0): (= (- (expt 2 61)) most-negative-fixnum) ⇒ t (= (1- (expt 2 61)) most-positive-fixnum) ⇒ t (Same as on Emanuel's.) -- Simon. On Wed, Aug 16, 2023 at 1:12 PM Emanuel Berg wrote: > Gerd Möllmann wrote: > > >> I don't know about SBCL, but as for Emacs, refer to the > >> definition of VALBITS in lisp.h (maybe also the right files > >> among m/*.h and s/*.h, but I have no idea where they've > >> disappeared to.) > > > > The SBCL I have here, a Homebrew installation, uses the > > scheme where > > > > ....0 -> fixnum > > ....1 -> other objects (discriminated by additional tag bits) > > > > I had the same for Emacs in the branch gerd_int in the > > 2000s, if memory serves me. > > Ah, there is `fixnump' (and `bignump') to test for a specific > number, > > (fixnump (expt 2 60)) ; t > (fixnump (expt 2 61)) ; nil > > 2^60 = 1152921504606846976, so that's pretty big. > > -- > underground experts united > https://dataswamp.org/~incal > > >