1. 03 May, 2020 3 commits
    • Raymond Toy's avatar
      Fix expectations for share tests for cmucl. · efc8b215
      Raymond Toy authored
      When running  the share testsuite for cmucl, we get the following
      message:
      
      Error summary:
      Error(s) found:
        /home/toy/src/sourceforge/maxima-code/share/tensor/rtest_ctensor.mac problem:
          (34)
      Tests that were expected to fail but passed:
        /home/toy/src/sourceforge/maxima-code/share/to_poly_solve/rtest_to_poly.mac problems:
          (13 14 15 16 17 18 19 20 25)
        /home/toy/src/sourceforge/maxima-code/share/to_poly_solve/rtest_to_poly_solve.mac problems:
          (199 200 201 202 203 204 214 222 268 277 278 295 311)
        /home/toy/src/sourceforge/maxima-code/share/contrib/diffequations/tests/rtest_sym.mac problems:
          (12 58)
        /home/toy/src/sourceforge/maxima-code/share/vector/rtest_vect.mac problem:
          (19)
      1 test failed out of 4,360 total tests.
      
      So update all of the expectations where cmucl passes a test that was
      expected to fail.  After this fix, cmucl only fails the ctensor test,
      but that's a recent failure that is being discussed on the mailing
      list.
      efc8b215
    • Raymond Toy's avatar
      Remove lispify-maxima-keyword-options · 6fe4493f
      Raymond Toy authored
      It's been replaced by defmfun-keywords which has the same
      functionality, and it's no longer used anywhere in the code.
      6fe4493f
    • Raymond Toy's avatar
      Remove defun-checked · d2e2376d
      Raymond Toy authored
      It's been superseded by the new defmfun, and it's not used anywhere
      anymore.
      d2e2376d
  2. 02 May, 2020 25 commits
    • Kris Katterjohn's avatar
      Remove the translator variable transcompile · a3bd2807
      Kris Katterjohn authored
      This flag controlled the output of some declarations in translated
      code.  It is a relic from the days when interpreted and compiled lisp
      code had different semantics.  Setting it to false would cause the
      translator to generate bogus code because special declarations
      required for correct semantics under Common Lisp would be omitted.
      
      Besides the special declarations, this flag also controlled the output
      of some type declarations.  I don't see a point in keeping this flag
      around just to control that, so let's just remove it.
      
      This flag was set to true in some share files, so let's remove those
      uses as well.
      
      This was discussed on the mailing list circa 2020-04-28 in the thread
      "Removing transcompile".
      
      No problems with the test suite or share test suite.
      tests/rtest_translator.mac runs as expected.
      a3bd2807
    • Wolfgang Dautermann's avatar
      Windows installer: Update ABCL. · ecd4e155
      Wolfgang Dautermann authored
      ecd4e155
    • Kris Katterjohn's avatar
      Clean up the implementation of ttyoff and make it reset-able · c19a8173
      Kris Katterjohn authored
      ttyoff was an alias for ^W but only "indirectly" through the variable
      TTYOFF.  TTYOFF was created to be a lisp-independent way to express
      whatever lisp-specific variable controlled whether or not to output
      to a terminal, and on Maclisp this variable was ^W.  During the port
      to Common Lisp, the Maclisp ^W just became another defined variable
      in Maxima.
      
      A very similar situation was the old writefile_on variable that was
      an alias for ^R (on Maclisp) but indirectly through WRITEFILEP.  This
      was cleaned up (well, removed) in commit 6bcf3cd9 in 2013.
      
      Now define ttyoff with DEFMVAR and use it directly, and remove both
      TTYOFF and ^W.
      
      The only functional change is that ttyoff is now reset-able.
      
      No problems with the test suite or share test suite.
      c19a8173
    • Raymond Toy's avatar
      Remove commented out stuff from bf_fmin_coblya · ac6eee37
      Raymond Toy authored
      Remove the old implementation that we don't use anymore.  Everything
      has been combined into the (new) $bf_fmin_cobyla.
      ac6eee37
    • Raymond Toy's avatar
      Convert bf_fmin_coblya to use defmfun · 90d8571e
      Raymond Toy authored
      * Combine %bf-cobyla and defmfun $bf_min_cobyla into a new defmfun
        $bf_fmin_coblya. 
      * Remove bf_fmin_cobyla inf favor of $bf_fmin_cobyla that handles the
        interface itself.
      90d8571e
    • Dan Gildea's avatar
      infinite loop in li[2] · c6027987
      Dan Gildea authored
      use powers of log for points near unit circle, as with li[3]
      
      Fixes #3582 numerical evaluation of li[2]
      c6027987
    • Raymond Toy's avatar
      Remove old defun $%dgemm · 22a10874
      Raymond Toy authored
      We are using $dgemm directly now, so $%dgemm isn't needed.  Remove
      it. (Was already commented out.)
      22a10874
    • Raymond Toy's avatar
      Use defmfun-keywords instead of lispify-maxima-keyword-options · 04cd9daa
      Raymond Toy authored
      lispify-maxima is legacy code that we want to remove.  Besides,
      defmfun-keywords does the same thing except it needs an extra arg for
      the name that is printed out when things are wrong.
      04cd9daa
    • Yasuaki Honda's avatar
      aca32a24
    • Robert Dodier's avatar
      In TAYLOR2, detect derivative wrt a non-taylor variable and handle it as a general expression. · 95badee3
      Robert Dodier authored
      Apparently fixes bug reported to mailing list 2020-04-30: "Bug in taylor?",
      however, problem 34 (line 78) in share/tensor/rtest_ctensor.mac,
      which has something to do with Taylor series applied to ctensor, now fails.
      Committing this change in order to make it available for others to review.
      95badee3
    • Kris Katterjohn's avatar
      Fix typo in quad_qagi · db026935
      Kris Katterjohn authored
      db026935
    • Raymond Toy's avatar
      Use %%pretty-fname in quadpack error messages · 88dcd0b2
      Raymond Toy authored
      * Print out the pretty name in error messages.
      * Update quad_argument_check to include a name parameter that is
        printed out with the error messages.
      88dcd0b2
    • Kris Katterjohn's avatar
      Remove several obsolete translator special variables · 9ce01f6f
      Kris Katterjohn authored
      This removes the obsolete ARRAYS, EXPRS, FEXPRS, LEXPRS and DECLARES.
      These were lists used for constructing Maclisp-style declarations for
      translated code.  (Actually I can't find any old code where names
      pushed onto EXPRS were ever actually used, but presumably EXPRS was
      intended for constructing *EXPR declarations.)
      
      For more, see the old PRINT-TRANSL-HEADER and UPDATE-GLOBAL-DECLARES
      removed in commits 0a370af9 and 0760d9c0, respectively.
      
      No functional changes.
      
      No problems with the test suite or share test suite.
      tests/rtest_translator.mac runs as expected, with new tests.
      9ce01f6f
    • Raymond Toy's avatar
      Clean up interface to minpack routines · f08c1e4e
      Raymond Toy authored
      Several items changed:
      
      * Use %%pretty-fname when printing out error messages so they include
        the function name.
      * The default tolerance was (sqrt double-float-epsilon).  This doesn't
        get printed well in the function name (causes error), so use #. to
        convert to a number.
      * Add some additional checks in minpack_lsquares and minpack_solve to
        verify that tolerance makes sense.
      f08c1e4e
    • Kris Katterjohn's avatar
      translator: fix bogus error reporting that caused lisp errors · 6ed1f63b
      Kris Katterjohn authored
      *TRANSLATION-MSGS-FILES* is a list of streams to write to, but in
      some MFORMAT and MGRIND calls it was incorrectly used as if it were
      a stream itself.  Lisp errors would occur in these places when this
      list was non-empty.
      
      At least one stream is put on the list during translate_file and
      compile_file because they want to write to the unlisp file (standard
      output is also put on the list when tr_file_tty_messagesp is true).
      
      TR-FORMAT knows how to correctly handle *TRANSLATION-MSGS-FILES*, so
      change these problematic MFORMAT and MGRIND calls to TR-FORMAT calls
      instead.
      6ed1f63b
    • Raymond Toy's avatar
      Fix typo · d2d00431
      Raymond Toy authored
      It's %%pretty-fname, not %%pretty-funame.
      d2d00431
    • Raymond Toy's avatar
      Declare %%pretty-fname as ignorable · 21d6832e
      Raymond Toy authored
      Gets rid of compiler warnings about an unused var if %%pretty-fname
      isn't used.
      21d6832e
    • Raymond Toy's avatar
      Use %%pretty-fname in more places · 88b45e69
      Raymond Toy authored
      88b45e69
    • Raymond Toy's avatar
      Define %%pretty-fname for use by defined functions · ccbc6ed8
      Raymond Toy authored
      When printing out error messages about the wrong number of arguments,
      a pretty name for the function with arguments is used.  However, this
      wasn't available for use by the user.  Now, define %%PRETTY-FNAME as a
      variable for use by the body of the function for printing out the
      function name in the same way as printed in the argument count
      checking messages.
      
      Use this in fmin_coblya to print out nice error messages when there is
      an error in the arguments to fmin_cobyla.
      ccbc6ed8
    • Raymond Toy's avatar
      Verify iprint and maxfun have the correct type and value · ead7305f
      Raymond Toy authored
      Both must be integers and 0 <= iprint <= 3 and maxfun >= 0.
      ead7305f
    • Raymond Toy's avatar
      Fix up a couple of issues. · c7f42de7
      Raymond Toy authored
      * The function CALCFC must be defined in the COBYLA package.  Make it
        so.
      * Remove extraneous print in CALCFC.
      c7f42de7
    • Kris Katterjohn's avatar
      Fix a bug in MFORMAT ~M that caused entire lines of text to not print · 640f8a79
      Kris Katterjohn authored
      Since commit 6bcf3cd9 in 2012, the MFORMAT directive ~M would cause
      the surrounding line of text to not actually be printed unless the
      output stream was standard output:
      
      (%i1) :lisp (mformat t "~M" 1)
      1
      NIL
      
      (%i1) :lisp (prin1 (with-output-to-string (s) (mformat s "~M" 1)))
      ""
      
      (%i1) :lisp (eq *standard-output* *terminal-io*)
      NIL
      
      (%i1) :lisp (mformat t "oops ~M bar~%baz" 'foo)
      oops foo bar
      baz
      NIL
      
      (%i1) :lisp (mformat *terminal-io* "oops ~A bar~%baz" 'foo)
      oops foo bar
      baz
      NIL
      
      (%i1) :lisp (mformat *terminal-io* "oops ~M bar~%baz" 'foo)
      baz
      NIL
      
      (Actually if the colon modifier for ~M was used then this worked; the
      at-sign modifier had no effect on this.)
      
      In DISPLAF, if the stream to print to is not standard output then
      *STANDARD-OUTPUT* is bound to the stream before calling DISPLA.  Prior
      to commit 6bcf3cd9 both ^R and ^W were both bound to T in DISPLAF and
      they were both checked in DISPLA: if ^W was NIL or ^R was non-NIL then
      DISPLA would print to standard output.  In that commit ^R was removed
      and the ^R check in DISPLA was dropped, and this caused DISPLA to not
      print anything in the case where the stream passed to DISPLAF was not
      standard output because only ^W was checked and it was non-NIL.
      
      I'm fixing this bug by binding ^W to NIL in DISPLAF instead of T.  This
      is not just a quick hack: since DISPLAF is rebinding *STANDARD-OUTPUT*
      to the stream to print to, it makes sense to bind ^W to NIL since ^W
      controls the printing to standard output.
      
      In Macsyma under Maclisp, before calling DISPLA in DISPLAF both ^R and
      ^W were bound to T and OUTFILES was bound to a singleton list holding
      the file object to print to.  This all made sense because this setup
      made it so the output went to the file and not the terminal.  After the
      change for Common Lisp where *STANDARD-OUTPUT* was bound instead of
      OUTFILES, binding ^W to T didn't really make sense anymore (but it all
      worked out for DISPLAF at that time because ^R was also bound to T).
      
      There are places in Maxima (such as the translator) where MFORMAT is
      used for printing to streams that are not standard output.
      640f8a79
    • Kris Katterjohn's avatar
      translator: translate exp and atan using the transf code · be0eaa9b
      Kris Katterjohn authored
      exp and atan have had their own individual translations handled in
      troper, but they have the same kind of simple translations that
      the transf code handles: if the argument is a float then call the
      corresponding CL function; otherwise punt to the simplifier.
      
      No functional changes.
      
      No problems with the test suite or share test suite.
      tests/rtest_translator.mac runs as expected, with new tests.
      be0eaa9b
    • Dan Gildea's avatar
      limit with floor · d72a2a8a
      Dan Gildea authored
      behavior-by-diff:
      go up to second derivative
      fixes limit(ceiling(cos(x)),x,0);
      
      simplim%floor and simplim%ceiling:
      use $constantp
      fixes limit(floor(%pi + x), x, 0);
      
      Fixes #3616 limit with floor problems
      d72a2a8a
    • Wolfgang Dautermann's avatar
      Windows installer: update wxMaxima. · 591816ac
      Wolfgang Dautermann authored
      591816ac
  3. 18 Apr, 2020 11 commits
  4. 14 Apr, 2020 1 commit