Skip to content
Snippets Groups Projects
  1. Jun 27, 2007
    • rtoy's avatar
      o Inhibit warnings for POLY-EVAL and POLY-EVAL-1. · 3cc0567a
      rtoy authored
      o Add some declarations in various places to get rid of some warnings.
      o Rearrange DD-%ASIN to get rid of some warnings.
      o Declare the type of DD-%SIN, DD-%COS, and DD-%TAN because cmucl
        doesn't compute the correct return type.
      3cc0567a
  2. Jun 22, 2007
    • rtoy's avatar
      Make the reader faster when reading #1= constructs when there are lots · 2a561f33
      rtoy authored
      of them.  Use hash tables instead of an alists for holding and
      constructing the necessary objects.  This can vastly speed up the
      reader in some cases.  But unfortunately it slows down the reader when
      the circular structure is "small".
      
      Some care has been taken not to make the reader slow when there are
      now #= constructs.
      
      This is based on a patch from Jared Davis.
      
      reader.lisp:
      o Add the new hash tables and initialize them appropriately.
      
      sharpm.lisp:
      o Update #= and ## macros to use the new hash tables.
      2a561f33
  3. Jun 21, 2007
  4. Jun 20, 2007
  5. Jun 11, 2007
    • rtoy's avatar
      compiler/float-tran.lisp: · 599a4a72
      rtoy authored
      o Handle signed-zeroes for addition, subtraction, and multiplication
        of double-double floats.  That is, return the correct signed zero
        for the result.
      o Try to handle overflow in addition, multiplication, and division by
        returning infinity, if the overflow or divide-by-zero trap is
        disabled.  This is done by looking to see what the corresponding
        double-float operation would return.  This probably needs more work.
      
      code/irrat-dd.lisp:
      o Remove the careful-mul stuff from dd-complex-atanh since we handle
        signed zeroes better now during double-double multiplication.
      599a4a72
  6. May 29, 2007
  7. May 25, 2007
    • rtoy's avatar
      Revert the previous change to DD-COMPLEX-ATANH. If z < -1, just call · 3fc131f9
      rtoy authored
      DD-COMPLEX-ATANH with -0w0 to get the correct value.
      3fc131f9
    • rtoy's avatar
      We were not correctly reconstructing double-double-float signed zeroes · fafc90b4
      rtoy authored
      from fasl files.  Use %make-double-double-float instead of
      make-double-double-float because the latter does a renormalization,
      which trashes the sign.  The former constructs the double-double
      exactly as given, which is really what we want since the fasl has the
      correct components.
      fafc90b4
    • rtoy's avatar
      o Remove some unused constants · 5a450590
      rtoy authored
      o Fix a typo in a docstring.
      o Fix DD-COMPLEX-ASIN again:
        - The previous fix for asin(-2) being wrong actually broke the case
          for asin(2).  Revert that.
        - The issue was that in our explicitly handling of the atan(y/0)
          case we didn't take into account the sign y and 0.  Fix that.
      5a450590
  8. May 24, 2007
  9. May 23, 2007
  10. May 22, 2007
  11. May 19, 2007
    • rtoy's avatar
      Trac ticket #10 · 51a50f19
      rtoy authored
      For large numbers we did not check for odd-valued results that needed
      to be rounded to even.
      51a50f19
  12. May 02, 2007
  13. Apr 07, 2007
  14. Mar 28, 2007
    • rtoy's avatar
      o Fix typo handling complex-double-double-reg-sc-number case. · 81eabad0
      rtoy authored
      o Fix extra paren for double-double-stack-sc-number case, and don't
        use with-nfp which doesn't exist on x86.
      o Add support for complex-double-double-stack-sc-number, which was
        missing for x86.
      81eabad0
    • rtoy's avatar
      o Remove some extraneous (typo) parens for · 139cb256
      rtoy authored
        double-double-stack-sc-number and
        complex-double-double-stack-sc-number.
      o The complex-double-double-stack-sc-number case was not computed the
        complex double-double correctly.  Fix it.
      139cb256
  15. Mar 27, 2007
  16. Mar 23, 2007
    • rtoy's avatar
      Better conversion of bignums to double-double-floats. Also fixes the · d61a8a8b
      rtoy authored
      silly bug that (float <neg bignum> 1w0) was returning a positive
      result instead of negative.
      
      o Rename DOUBLE-DOUBLE-FLOAT to DOUBLE-DOUBLE-FLOAT-FROM-BITS to match
        other functions and to make it separate from the same function in
        the KERNEL package.
      o Modify DOUBLE-DOUBLE-FLOAT-FROM-BITS to look at the bignum and
        extract out the pieces better.  Look for a pattern <53 bits> <zeroes>
        <53 bits> where <zeroes> is a set of consecutive zero bits.  We use
        the 2 53-bit sections to create the double-double-float.
      o Make DOUBLE-DOUBLE-FLOAT-FROM-BITS honor the sign.
      o Add BIGNUM-FLOAT-DIGITS to figure out how many bits of the bignum
        should be used to create the float.
      o Call BIGNUM-FLOAT-DIGITS from BIGNUM-TO-FLOAT instead of using
        FLOAT-FORMAT-DIGITS.
      d61a8a8b
  17. Mar 22, 2007
  18. Mar 21, 2007
  19. Mar 20, 2007
    • rtoy's avatar
      Was not getting the right instruction for the faulting floating-point · 9fde59c0
      rtoy authored
      exception.
      
      This was happening when the faulting FP instruction was in the delay
      slot of a branch.  The PC was incremented to the branch target, and
      hence had the wrong information.  The FPQ structure has the right
      information.
      
      code/sparc-svr4-vm.lisp:
      o Add FPQ structure so we can access the information about the
        faulting FP instruction.
      
      compiler/sparc/float.lisp:
      o Extract the correct information about the faulting FP instruction
        instead of from the PC.
      9fde59c0
    • rtoy's avatar
      Document tracing for FLET/LABELS in the docstring. · 07d8f3eb
      rtoy authored
      07d8f3eb
  20. Jan 23, 2007
  21. Jan 20, 2007
  22. Jan 18, 2007
  23. Jan 16, 2007
  24. Jan 13, 2007
  25. Jan 11, 2007
  26. Dec 22, 2006
    • rtoy's avatar
      Fix issue reported by Albert Reiner, cmucl-help, 2006/10/20, and fix · 7b9a9f98
      rtoy authored
      another issue with uninitialized &aux variables.
      
        (defstruct (foobar
                     (:constructor make-foobar
                                   (xxx
                                    &key (aaa nil) (bbb nil)
                                    &aux
                                    (foobar-data xxx)
                                    (aaa (or aaa
                                             (getf foobar-data :aaa)
                                             1))
                                    (bbb (or bbb
                                             (getf foobar-data :bbb)
                                             (1+ aaa))))))
          (aaa (required-argument) :type fixnum)
          (bbb (required-argument) :type fixnum))
      
        (make-foobar nil) -> #<foobar :aaa 1 :bbb 2>
      
      But CMUCL gives type errors.
      
      To fix Albert's issue, modify CREATE-BOA-CONSTRUCTOR to keep track of
      the &aux vars separately from the other arglist vars.  Adjust
      CREATE-VECTOR-CONSTRUCTOR, CREATE-LIST-CONSTRUCTOR,
      CREATE-STRUCTURE-CONSTRUCTOR, and CREATE-FIN-CONSTRUCTOR to take an
      extra arg for the &aux vars.  For CREATE-STRUCTURE-CONSTRUCTOR, we
      only put declarations for the other arglist vars.  To make sure we
      store the right kinds of objects into the slots, we also wrap (the
      <type> init) for each initial value.
      
      Also CLHS 3.4.6 has an example of a boa constructor using an aux
      variable without an initializer.  CMUCL was not handling that right.
      Modify CREATE-BOA-CONSTRUCTOR to change the initializer to use (or
      <aux> slot-default-value) to get the correct default value into the
      slot if the aux variable doesn't.
      7b9a9f98
  27. Dec 19, 2006
    • cshapiro's avatar
      When attempting to macro expand a symbol that denotes a local · d2dcf0fa
      cshapiro authored
      definition, if the symbol is symbol macro, return the expansion.
      Otherwise, if the symbol is a local definition but not a symbol macro,
      return the symbol and report no expansion.  Previously, the otherwise
      case was not handled and macroexpand-1 fell through in error to test
      forms for global cases.  Among other things, this caused the expansion
      of global symbol macros shadowed by lexical variable bindings.
      d2dcf0fa
Loading