[cmucl-commit] [git] CMU Common Lisp tag double-double-init-sparc created. 6bfb74d1ee4ca8d1eff43fda0a3533f507b6e2f7

Raymond Toy rtoy at common-lisp.net
Tue Oct 11 19:28:51 CEST 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The tag, double-double-init-sparc has been created
        at  6bfb74d1ee4ca8d1eff43fda0a3533f507b6e2f7 (commit)

- Log -----------------------------------------------------------------
commit 6bfb74d1ee4ca8d1eff43fda0a3533f507b6e2f7
Author: rtoy <rtoy>
Date:   Fri Jun 9 16:05:19 2006 +0000

    Add basic support for kernel:double-double-float type.  The primitive
    type is there, and basic arithmetic operations work as well as PRINT.
    But many things do not work: No reader, formatted output, many mixed
    type arithmetic operations, special functions are just double-float
    values, coerced to double-double-float.
    
    compiler/generic/interr.lisp:
    o Add new error
    
    compiler/generic/new-genesis.lisp:
    o Dump double-double-float objects (barely tested)
    
    compiler/generic/primtype.lisp:
    o Tell compiler about the new primitive type double-double-float.
    
    compiler/generic/vm-fndb.lisp:
    o Make double-double-float-p a known function.
    
    compiler/generic/vm-type.lisp:
    o Update FLOAT-FORMAT-NAME to include double-double-float
    
    compiler/generic/vm-typetran.lisp:
    o Tell compiler about double-double-float type predicate.
    
    compiler/sparc/float.lisp:
    o Add necessary vops to move double-double-float args, store and load
      double-double-floats to/from the double-double-stack,
      double-double-reg moves, box and unbox double-double-floats, move
      double-double-floats to and from args
    o Add necessary vops to create a double-double-float and to extract
      the high and low parts out of a double-double-float.
    
    compiler/sparc/parms.lisp:
    o Define double-double-float-digits
    
    compiler/sparc/type-vops.lisp:
    o Define double-double-float type vop
    o Adjust number hierarchy to include double-double-float
    
    compiler/sparc/vm.lisp:
    o Define the necessary storage class and storage base for the
      double-double-reg and double-double-stack.
    
    lisp/gencgc.c:
    o Tell GC about double-double-float objects.
    
    lisp/purify.c:
    o Tell purify about double-double-float objects.
    
    code/class.lisp:
    o Add the new double-double-float class.
    
    code/exports.lisp:
    o Add the necessary symbols to the various packages.  (This is
      important to get right otherwise there's confusion on what symbol
      really represents double-double-float stuff.)
    
    code/float.lisp:
    o Implement some of the necessary functions to support
      double-double-float.
    
    code/hash-new.lisp:
    o Hash double-double-floats by xor'ing the hashes of each double-float
      part.  (Is that good enough?)
    
    code/irrat.lisp:
    o Implement the special functions by calling the double-float versions
      and coercing the result to a double-double-float.  This is needed to
      get type-derivation working, but the precise value isn't that
      important right now.  We'll have to implement them later.
    
    code/kernel.lisp:
    o Make make-double-double-float, double-double-hi, and
      double-double-lo known functions.
    
    code/lispinit.lisp:
    o Register the :double-double float feature.
    
    code/load.lisp:
    o Add FOP for reading double-double-float values from fasls.  (Barely
      tested, if at all.)
    
    code/numbers.lisp:
    o Implement basic arithmetic operations for double-double-floats.
      This needs quite a bit of work to clean up, but most things work.
    
    code/pred.lisp:
    o Tell the type system about double-double-float type.
    
    code/print.lisp:
    o Add very rudimentary printing for double-double-float.  Basically
      copied from code written by Richard Fateman, with permission.
    
    code/seq.lisp:
    o Tell coerce how to coerce things to a double-double-float.
    
    code/type.lisp:
    o Tell type system about the new float format double-double-float and
      how numeric contagion works with double-double-float.
    
    code/dump.lisp:
    o Tell dumper how to dump double-double-float values to a fasl.
    
    compiler/float-tran.lisp:
    o Add appropriate deftransforms to handle conversion of things to
      double-double-float and from from double-double-float to other float
      types.
    o The basic implmentation of double-double-float arithmetic is also
      here.
    o Add deftransforms to tell the compiler how to do basic arithmetic
      and comparisions on double-double-float numbers.
    
    compiler/srctran.lisp:
    o Fix a bug in interval-range-info when :low is 0dd0 and :high is 0.
      We weren't returning the right value, which confuses interval-div,
      which caused an infinite loop because we couldn't split the
      numerator into positive and negative parts.
    o Tell other parts about double-double-float.
-----------------------------------------------------------------------


hooks/post-receive
-- 
CMU Common Lisp


More information about the cmucl-commit mailing list