Ignore:
Timestamp:
Jul 13, 2005, 2:38:50 PM (14 years ago)
Author:
gb
Message:

New NUMBERP/REALP for PPC64 (depends on new complex/ratio typecodes.)
Redefine PPC64 *NODEHEADER-TYPES*.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/l0-pred.lisp

    r1937 r1996  
    122122             (<= typecode ppc32::max-real-subtag)))
    123123    #+ppc64-target
    124     (cond ((= typecode ppc64::tag-fixnum) t)
    125           ((= typecode ppc64::subtag-single-float) t)
    126           ((= typecode ppc64::subtag-bignum) t)
    127           ((= typecode ppc64::subtag-double-float) t)
    128           ((= typecode ppc64::subtag-ratio) t))))
     124    (if (<= typecode ppc64::subtag-double-float)
     125      (logbitp (the (integer 0 #.ppc64::subtag-double-float) typecode)
     126               (logior (ash 1 ppc64::tag-fixnum)
     127                       (ash 1 ppc64::subtag-single-float)
     128                       (ash 1 ppc64::subtag-double-float)
     129                       (ash 1 ppc64::subtag-bignum)
     130                       (ash 1 ppc64::subtag-ratio))))))
    129131
    130132(defun complexp (x)
     
    141143             (<= typecode ppc32::max-numeric-subtag)))
    142144    #+ppc64-target
    143     (cond ((= typecode ppc64::tag-fixnum) t)
    144           ((= typecode ppc64::subtag-single-float) t)
    145           ((= typecode ppc64::subtag-bignum) t)
    146           ((= typecode ppc64::subtag-double-float) t)
    147           ((= typecode ppc64::subtag-ratio) t)
    148           ((= typecode ppc64::subtag-complex) t))))
     145    (if (<= typecode ppc64::subtag-double-float)
     146      (logbitp (the (integer 0 #.ppc64::subtag-double-float) typecode)
     147               (logior (ash 1 ppc64::tag-fixnum)
     148                       (ash 1 ppc64::subtag-bignum)
     149                       (ash 1 ppc64::subtag-single-float)
     150                       (ash 1 ppc64::subtag-double-float)
     151                       (ash 1 ppc64::subtag-ratio)
     152                       (ash 1 ppc64::subtag-complex))))))
    149153
    150154(defun arrayp (x)
     
    549553      catch-frame
    550554      slot-vector
    551       bogus
     555      ratio
    552556      symbol
    553557      lisp-thread
    554558      standard-instance
    555       bogus
     559      complex
    556560      bogus
    557561      lock
     
    572576      bogus
    573577      package
    574       ratio
     578      bogus
    575579      bogus
    576580      bogus
    577581      svar
    578       complex
     582      bogus
    579583      bogus
    580584      bogus
Note: See TracChangeset for help on using the changeset viewer.