[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
- To: (BUG LISPM) at MIT-AI
- Subject:
- From: RG@MIT-AI
- Date: Tue ,10 May 78 10:20:29 EDT
LDB NOW WORKS FOR BIGNUMS (OR AT LEAST, LOADING FIXNUM SIZED
BYTES OUT OF POSITIVE BIGNUMS). IT COMPLAINS IF THE DATA BEING
LDB'ED OUT OF IS NOT EITHER A FIXNUM OR A BIGNUM.
HIGH ORDER BITS OF NUMBERS LDB'ED OUT OF ARE SUPPLIED
BY SIGN EXTENDING IF NECESSARY. (NO MORE GARBAGE DATA-TYPE BITS, ETC).
REALLY THE RIGHT THING WOULD BE FOR LDB TO ALWAYS RETURN A POSITIVE
NUMBER (EVEN WHEN LOADING A 24 BIT BYTE FROM A FIXNUM). UNFORTUNATELY,
THIS WOULD REQUIRE IT TO SOMETIMES RETURN A BIGNUM EVEN THO A FIXNUM
WAS BEING LDB'ED OUT OF (IE IF YOU WERE LOADING A 24. BYTE FROM A NEGATIVE FIXNUM).
THIS, IN TURN WOULD BREAK MANY PROGRAMS SINCE THERE ARE MANY OPERATIONS
WHICH DONT WIN ON FIXNUMS YET (LOGAND FOR EXAMPLE). SO FOR THE TIME BEING
LDB IS GUARENTEED TO ALWAYS RETURN A FIXNUM, WHICH CAN BE NEGATIVE IN THE
PREVIOUSLY MENTIONED CASE.
%P-LDB AND %P-LDB-OFFSET ARE UNCHANGED.