[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Finding largest integer
- To: CWH at MIT-MC
- Subject: Finding largest integer
- From: Kent M. Pitman <KMP at MIT-MC>
- Date: Thu, 1 May 80 08:19:00 GMT
- Cc: BUG-LISP at MIT-MC, KMP at MIT-MC, Dave.Touretzky at CMU-10A
- Original-date: 1 May 1980 04:19-EDT
Date: 1 May 1980 02:48-EDT
From: Carl W. Hoffman <CWH at MIT-MC>
Date: 30 April 1980 1812-EDT
From: Dave Touretzky at CMU-10A
Is there any variable or status call in MacLisp that gives the maximum
integer (excluding bignums) and minimum integer representable ...
Date: 30 APR 1980 1830-EDT
From: KMP at MIT-MC (Kent M. Pitman)
Perhaps a (STATUS INFINITY)? A (STATUS WORDSIZE) would probably help...
Assuming that two's complement arithmetic is being used, (ROT 1 -1) will
give you the smallest fixnum, and (LSH -1 -1) will give you the largest
fixnum. (HAULONG (ROT 1 -1)) will give you the number of bits in a fixnum.
Outside of code that is a part of the Lisp system, there should be no need
to know the actual wordsize of the machine. Bit vectors are available in
both LMLisp and NIL.
Well, as much as I am sure that we will never try to transport to a non-2's
complement machine, I don't think it lends to code transparency to see this
sort of hackery. We are talking about precisely very machine dependent things.
Compilers may want to do things with word size. Constructs that return this
information for real with no strings attached are really called for and I
don't think they are just sugar. They may not get used often but the places
where they do, you *really* want to be sure the right thing is happening.
-kmp