[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Why dosen't SIGNUM preserve a few exponent and fraction bits while it's at it?
- To: DCP@SCRC-STONY-BROOK.ARPA
- Subject: Why dosen't SIGNUM preserve a few exponent and fraction bits while it's at it?
- From: Bill Gosper <rwg%SPA-NIMBUS@SCRC-STONY-BROOK.ARPA>
- Date: Thu, 18 Oct 84 01:02 PDT
- Cc: BUG-LISPM@SCRC-STONY-BROOK.ARPA, lisp-designers%SPA-NIMBUS@SCRC-STONY-BROOK.ARPA, common-lisp@SU-AI.ARPA, ddyer%SPA-NIMBUS@SCRC-STONY-BROOK.ARPA, cwr%SPA-NIMBUS@SCRC-STONY-BROOK.ARPA
- In-reply-to: <841017111351.8.DCP@NEPONSET.SCRC.Symbolics>
Date: Wednesday, 17 October 1984, 11:13-EDT
From: David C. Plummer <DCP at SCRC-TENEX>
Date: Wed, 17 Oct 84 02:47 PDT
From: Bill Gosper <rwg%SPA-NIMBUS@SCRC-STONY-BROOK.ARPA>
In Symbolics 3600 System 242.355, Mailer 41.3, Print 34.3,
Macsyma 23.103, microcode TMC5-MIC 297, on Russian:
For what my opinion is worth, it was massively wrong for SIGNUM to try to
preserve the floatingness of its argument. The whole purpose of the
function is to reduce the information content of its arg to the minimum.
Can anyone recall the rationale? Was it any better than the "contagious
floating" creeping braindamage? When you get an exact answer, it is
idiotic to cast it into the one grubby datatype that fosters inexact
computation. Maybe what you're trying to say is "this SIGNUM was
of a datum so wretched that even its sign was probably wrong"?
What does this have to do with SIGNUM? The bug you SHOWING is that
%LEXPR-[AREF/ASET/ALOC] don't type check their indices.
>>Error: Page fault on unallocated VMA 206060064
While in the function SYS:%LEXPR-AREF AREF TRIANGLE-WINDING-OF-ORIGIN
SYS:%LEXPR-AREF: (P.C. = 271)
Arg 0 (ARRAY): #<ART-Q-3-3-3 22060054>
Arg 1 (INDICES): (2.0 2.0 2.0)
Local 2 (NDIMS): 3
Local 3 (DATA-POINTER): #<DTP-LOCATIVE 22060064>
Local 4 (LINEAR-INDEX): 26.0
Local 5 (TYPE): 5
Local 6 (BITS-PER-ELEM): NIL
Local 7 (ELEMS-PER-Q): 1
Sorry to have been so garbled. I guess I expected everyone to figure out that I
subscripted by the 1+ of SIGNUMs. The error was especially traumatic since we had
just swapped the DP board in an apparently successful attempt to fix a
longstanding problem with EGC and FULL-GC, and I had just run them! Halloween
came early this year.
PS: If it didn't cost anything to check and FIX the subscripts, floating integer
subscripts should work! Actually, there shouldn't be floating integers! CommonSlip's
"rule of rational canonicalization" should convert them (if possible), to fixnums!
-0.0 be damned! My keyboard is melting!