Commit graph

76 commits

Author SHA1 Message Date
minskim
90d5abf001 Update mathomatic to 14.0.5.
Major changes since 12.8.0:
- Improved the "solve verify" command option.
- Added "derivative nosimplify" command option.
- Added "simplify sign" command option.
- More correct simplification restriction added.
- Disallow variable name "all" in expressions.
- Turned off readline file name completion.
- Implemented integral divide operator "//".
2008-06-21 17:23:26 +00:00
minskim
ab915c2c58 Update mathomatic to 12.8.0.
Changes since 12.7.7:
10/10/07 - Proper error reporting for shelling out (! command).
10/12/07 - Created directory "m4" to play with using m4 to allow easily
entering functions through macros.
10/14/07 - Improved "set dir" to display the new current directory and to
default to the home directory.
10/17/07 - Entering "=" by itself now swaps equation sides instead of doing
nothing.
10/18/07 - New "mathomatic.ico" file with transparent background.
10/21/07 - Increased speed of taylor command up to 3 times by not doing an
unnecessary simplification.
           Added "tests/distance.in".
10/22/07 - Fixed a small problem in calculate command, allowing instant
calculation of (2+2i)^99 now.
           Entering any power of any complex number should work now.
10/29/07 - Solving now reports what degree polynomial the equation is.
11/12/07 - Fixed 3 bugs in optimize command.
11/16/07 - Fixed another bug in optimize command.
2007-11-21 23:36:23 +00:00
minskim
887892f362 Update mathomatic to 12.7.7.
Changes:
 - Stabilized simplify command.
2007-10-13 15:27:52 +00:00
minskim
d0e2f8f327 Update mathomatic to 12.7.6.
Changes since 12.7.2:
Improved documentation.
Added display of maximum memory usage to version command.
Allow read command in the Mathomatic library and fixed memory leak with it.
Added echo command per a user's request.
Improved factoring out constants, to make all coefficients reduced integers by
  factoring out their gcd.
Added gcd_verified() function, to weed out false floating point gcds.
Made limit command say whether it is substituting or solving.
Added "mathomatic.desktop" and "mathomatic.png", which are the desktop and
  icon files for Linux.
Minor code, documentation, and makefile improvements.
Added "tests/quartic.in" and fixed incomplete simplification in the calculate
  command.
Allow upper case when parsing infinity constant name "inf", required by CygWin
  version and maybe others.
The makefiles no longer strip the created executables.
Reordered source code so many functions can be defined returning "void" (which
  means no return value).
Added "tests/how_limit_works.in" tutorial and restored "doc/notes.html".
Testing change to only one kind of partial unfactoring (partial_flag =
  true/false, default true), completely distinct from full unfactoring. Used
  throughout, let me know if this breaks anything.
Added "simplify fraction" option, which simplifies like Maxima's ratsimp().
2007-09-16 16:53:12 +00:00
minskim
a6fb32d92a Update mathomatic to 12.7.2.
Changes:
- Added order parameter to extrema command, which specifies the number of
  derivatives to take.
- Renamed flist command to "display".
2007-06-15 13:40:35 +00:00
minskim
b860b5e1b5 Update mathomatic to 12.7.1.
Changes:
- Remove GPL preamble in "primes/*.c", so everything is LGPL.
- Allow entering "e#" and "i#" as "e" and "i". Display "e", "i", and "pi" as
  "e#", "i#", and "pi#".
- Require a space between command and command line, so variables don't get
  confused with commands. This is a bug fix.
- Added a directory named "hard_stuff".
- Fixed error in "tests/finance.in".
2007-05-23 02:31:03 +00:00
minskim
6123d3e587 Update mathomatic to 12.6.12.
Changes since 12.6.8:
12/16/06 - Add "set special_variable_character" option.
12/26/06 - Comment makefiles and add "INSTALL.txt" for first-time users.
12/31/06 - Add "primes/primorial" Python program.
2/10/07 - "make install" wasn't working - fixed.
2/24/07 - Allow calculating large powers of complex numbers at the prompt,
  like (i#+1)^99.
3/06/07 - Display which color mode is in effect on startup of Mathomatic.
3/08/07 - Some minor interface improvements to the taylor command.
3/31/07 - Corrected limit command for infinity limits.
4/3/07 - Updated root "README.txt" and created "tests/limits.in".
2007-04-18 21:09:13 +00:00
minskim
2f5c9dab4e Update mathomatic to 12.6.8.
Changes:
- Add "set autocalc" option.
- Fix limit command so it fails instead of giving wrong answers.
2007-01-02 16:56:19 +00:00
minskim
a54ffb7586 Update mathomatic to 12.6.7.
Changes since 12.6.3:
Fix sign bug for negative factorials (gamma function).
Improve user interface of solve command.
Add alternate command syntax for sum and product commands.
Add "-r" option, which disables readline input processing.
Fix optimize command.
Documentation changes.
2006-11-19 20:53:24 +00:00
minskim
eba55cce5b Update mathomatic to 12.6.3.
Changes since 12.6.1:
8/20/06 - Fixed many very minor bugs.  Added variable display precision.
8/21/06 - Display single digit primes when using "matho-primes pal".
8/24/06 - Increase display precision from 12 to 14 decimal digits.
8/27/06 - Added some tiny python programs: "fact/factorial" and "primes/mult".
8/31/06 - Add alternate command name "display" to flist command.
9/04/06 - Improve eliminate command by allowing "eliminate all all ..." to
          eliminate all variables two or more times.
2006-09-13 00:39:03 +00:00
minskim
0920375cce Update mathomatic to 12.6.1.
Major changes:
- Added alternate command names.
- Don't allow imaginary numbers in integer only expressions.
- Made poly_gcd_simp() do its job in one pass.
- Add "set autosolve" option.
- Make entry of "=(expression)" into "0=(expression)", instead of being an
  error.
- Add fraction command.
- Made simplification default to polynomial simplify.
- "replace constants" command now approximates constants with roots.
- Fixed a floating point accuracy issue recently introduced.
- Other bug fixes and improvements.
2006-08-15 15:38:25 +00:00
minskim
18556c1735 Update mathomatic to 12.5.19.
Changes:
6/18/06 - Made entering "a=b=c" give an error, instead of just ignoring "c".
6/18/06 - Made "inf" an invalid variable, should be a constant only.
6/18/06 - Improved prompting for a variable.
6/18/06 - Mathomatic now properly removes all trailing spaces from input.
6/21/06 - Beautified the Mathomatic manuals.
6/23/06 - Remove semicolon from output of "code python" command.
6/27/06 - Add "tests/trig.in" to the tests.
6/29/06 - Allow typing "?" as a quick way to get help.
2006-08-08 18:15:20 +00:00
minskim
fcca7d87b3 Update mathomatic to 12.5.18.
Changes:
Fixed some gcc compiler warnings.
Code and documentation cleanup.
Removed BASICS define.
Removed all isascii() tests from the source code.
2006-07-27 18:25:48 +00:00
minskim
cd58c2b59f Update mathomatic to 12.5.17.
Changes since 12.5.15:
Allow curly brackets ("{}") as parentheses.
Allow all taylor command input on the command line.
Add taylor command to tests.
Added -u option (Unbuffered mode).  Previously output was always unbuffered.
Fixed compilation failure with some versions of GCC, when using readline.
Made some nice changes to "gcd.c".
Added "solve" as a command.
Adjust copyright dates and file comments in all source files.
Fix display of -0 (now displays as 0).
Restore matho-sumsq to Prime Number Tools.
2006-06-18 03:02:24 +00:00
minskim
16263619e8 Update mathomatic to 12.5.15.
Changes:
- Excess variables cleanup of taylor command.
- Changed argument of push command from an equation number to an equation
  number range.
- Added easy selection of equation spaces, just type the number at the
  prompt.
- Allow flist command when Mathomatic is compiled as a library.
2006-06-05 23:48:58 +00:00
minskim
e4f6b446b5 Update mathomatic to 12.5.14.
Changes:
A number of minor changes.
Fixes and improvements to the Mathomatic Command Reference.
Upgraded clear and set commands to accept more than one argument.
Gave real and imaginary commands a useful argument.
Fixed a sloppiness in command line parsing in function get_range().
Code cleanup.
2006-06-01 23:41:06 +00:00
minskim
c141703085 Update mathomatic to 12.5.13.
Changes:
Improved matho-primes by making primes buffer variable size.
Added "set factor_integers" option.
Removed "simplify poly" option, it was rarely useful.
Code cleanup, commenting, and speed optimization.
Improved simplification, added the fixed problem ("tests/linear.in") to the tests.
2006-05-15 07:45:01 +00:00
minskim
ea8997fc6a Update mathomatic to 12.5.12.
Changes:
- Documentation improvements.
- Updated command description text in help command.
- Converted many functions to inline that are only used once and should be
  inline.
- Code cleanup.
2006-03-26 18:45:07 +00:00
minskim
accf0ab840 Update mathomatic to 12.5.11.
Changes:
- "matho-primes pal" wasn't working, fixed.
- Improved the "Equation not defined" error message for new users.
- Worked on matho-primes program.
- Automatically determine the variable if none is specified
  with the extrema command.
- Code cleanup.
- Helped simplification of complex exponentials.
- Parse things like "2 2" as "2*2", instead of giving a syntax error.
  The default operator is always times.
2006-03-11 00:14:51 +00:00
minskim
a9dec77f5a Update mathomatic to 12.5.10.
Changes since 12.5.8:
- Bug fix for nintegrate command.  Result was correct but not fully reduced.
- Added "twin" option to "primes/matho-primes", removed "primes/matho-twin".
- Automatically determine the variable if none is specified
  with the derivative and taylor commands.
- Increased the maximum variable length to 1000 characters.
2006-03-02 00:34:39 +00:00
minskim
150211834a Update mathomatic to 12.5.8.
Changes:
- Doubled the default max expression size.  Display current size on
  startup.
- Made solve_sub() return -1 for an identity.
- Speedup of the simplify command.
2006-02-13 23:21:25 +00:00
minskim
9bbd785fbe Update mathomatic to 12.5.6.
Changes:
- Fixed compatibility problem with "list export" and "list maxima".
- Added "tests/conversions.in".
- Made "code integer" command work with more languages than C and Java.
- Added "code python" command option.
- Added "fact/fact.c" and "fact/fact.py", which are factorial functions.
- Completed "help geometry" page.
2006-01-25 20:42:26 +00:00
minskim
f5ddcd7395 Update mathomatic to 12.5.5.
Changes:
- Added "doc/manpage.html", which is the man page for Mathomatic
  generated with "groff -Thtml -man".
- Made sure all HTML files have the extension ".html".
- Made sure we can allocate at least 1 equation space on startup.
- Made entering things like "#1 a" succeed at entering a single variable
  expression.
- Fix-ups to the symbolic math library.
- Increased power of limit command.
- A limit expression with infinity in it is assumed to be infinity.
2006-01-21 23:25:02 +00:00
minskim
fad0653357 Update mathomatic to 12.5.4.
Changes:
- Removed parsing of "infinity" and fixed parsing of "inf".
- Removed matho-around.  Use GNU "seq | factor" instead.
- Allow "#+"number and "#-"number at main prompt, to select relative
  equation numbers.
- Removed all primes (') support from variable names.
- Added version command.
- Added "-v" option.
- Split off super.c into super.c and poly.c.
- All polynomial routines are now in poly.c.
- Improved roots command and put it in tests.
- Fixed bug simplifying "a = (e# + (e#*i#))^(pi + (pi*i#))".
2006-01-14 18:55:32 +00:00
minskim
38c910dfe8 Update mathomatic to 12.5.3.
Changes:
- Ported matho-primes, matho-twin, and matho-pascal to long doubles.
  "make test" added in "primes" directory.
- Alphabetic case sensitive mode set by default.
- Added "list maxima" option.  "list export" is now for other programs.
- Code cleanup.
2006-01-08 12:58:55 +00:00
minskim
8d2fdfd067 Update mathomatic to 12.5.2.
Changes:
- Fixed sum and product command docs and code.
- Added [hyper]trig functions.
- Documentation updates.
2005-11-23 05:26:10 +00:00
minskim
5ab72b5a5a Update mathomatic to 12.5.1.
Changes:
- Corrected color and html mode routines.
- get_expr() now has equation space pull.
- You may now enter a "#" followed by an equation space number when
  prompted for an expression.
- Ported nintegrate command to non-equations.  No more commands to port.
- Made redirected output ignore screen_columns.
- Added "-q" option (quiet mode, don't display prompts).
= The Mathomatic man page was improved.
2005-11-11 16:30:53 +00:00
minskim
9af1fb4b74 Update mathomatic to 12.5.0.
Changes:
- Made library work with constant strings passed as input to matho_process().
- Added "set bold_colors" option.  Use this if equations are difficult to read.
- Removed "doc/ctips.html".
- Cleaned up and improved makefiles.
- Fixed bug in "compile.secure".
2005-10-29 01:45:35 +00:00
minskim
ca257df011 Update mathomatic to 12.4.12.
Changes:
- Perfected process() (the input processor).
- Code cleanup.
- Display polar coordinates in roots command.
- Parse "**" as "^".
- The docs were clarified.
- Increased sizes of many input buffers.
2005-10-11 01:10:31 +00:00
minskim
9f08046b8a Update mathomatic to 12.4.11.
Changes:
  - The C complex number library was finished and perfected (complex_lib.c).
  - Yet another code cleanup.
  - Added "UNIX" compile-time define to the Prime Number Tools.
  - Some improvements to the Mathomatic documentation.
2005-09-26 22:07:44 +00:00
minskim
2131f1b313 Do not link against the curses library, which is not used by this
package.
2005-09-10 18:15:03 +00:00
minskim
e101638499 Update mathomatic to 12.4.10.
Changes:
  - Created "complex.h".
  - Fixed and documented "help all >filename", for quickly creating a
    quick command reference.
  - Fixed up and commented "main.c".
  - Split off "complex.c" into "complex_lib.c" and made it an
    independent complex number library.
  - Added "integrate definite" command option.
  - Corrected makefile install.
  - Added check in nintegrate command to fail if result contains
    infinity or nan.
  - A few complex number improvements were made.
  - Allow a text pre-processor to pipe input into Mathomatic.
2005-09-05 14:44:15 +00:00
minskim
da98a6569f Update mathomatic to 12.4.9.
Changes:
  - Added display of average to tally command.
  - Fixed tests.
  - Fixed output redirection for some commands.
2005-08-27 19:13:04 +00:00
minskim
60a0326906 Update mathomatic to 12.4.7.
Changes:
  - Fixed minor bug in real and imaginary commands.
  - Fixed roots command.
  - Cleaned up Prime Number Tools man pages.
  - Cleaned up the Mathomatic source code.
  - Corrected the Mathomatic library.
  - Ported taylor command to non-equations.
2005-08-27 18:58:51 +00:00
minskim
eb82b90aea Update mathomatic to 12.4.6.
Changes:
  - Added variable "error_str", which is set to the last error message
    when SILENT is defined.
  - Improvement in giving reason when solving fails.
  - The HTML docs were fixed.
2005-07-30 15:38:26 +00:00
minskim
5f2212449a Update mathomatic to 12.4.5.
Changes:
  - Bug fix made to divide command.
  - Increased the number of equation spaces to 100.
  - Fixed a precision problem with the "list export" command.
  - Added and implemented function return_result(equation_number) at the
    end of most commands, to facilitate use as a library.
  - Some more comments were added and "list.c" was cleaned up.
  - Replaced most printf()s with a new function called error().
2005-07-19 17:46:40 +00:00
minskim
3a0e56475e Update mathomatic to 12.4.4.
Changes:
  - Added a few checks for NULL char pointers.
  - Major change in memory allocation: equation spaces are now only
    allocated as needed.
  - Changed optimize command to accept an equation number range.
  - Some minor code cleanups and commenting.
2005-07-06 13:34:08 +00:00
minskim
b25b346759 Update mathomatic to 12.4.3.
Changes:
 - Allow larger fractions.
 - Doubled the default max expression size and memory requirements are
   now 20 megabytes.
 - Added ability to set the number of partitions when using the
   nintegrate command.
 - Some code and messages cleanup.
 - Fixed bug in nintegrate command (wrong number of function parameters).
 - Improved solve routine.
 - Update to "primes/matho-around.c".
2005-06-23 15:20:00 +00:00
minskim
3bff031ec5 Update mathomatic to 12.4.2.
Bug fixes and minor improvements.
2005-06-14 18:01:04 +00:00
minskim
02079252f1 Update mathomatic to 12.4.0.
Changes:
  - Added singularity checking and enabled numerical integration.
  - Fixed a bug in and documented numerical integration.
  - Simplify command was improved.
  - Startup displays more accurate memory usage info.
  - Update to the Mathomatic man page (added description).
  - Added NO_COLOR define (see README.txt).
  - Added function get_range_eol().
  - Doubled MAX_COMPARE_TERMS to 400.
2005-06-05 04:55:43 +00:00
minskim
76658e2a99 Update mathomatic to 12.3.3.
Changes:
  - Yet another improvement to the simplify command.  poly2_gcd() was fixed.
  - Improved bounds checking for gcd().
  - Pause command now takes an argument.
  - Made derivative, extrema, and integrate commands work with non-equations.
  - An important optimization was made to factor_times().
  - Added and tested code for numerical integration.  Currently disabled,
    to enable define "NUMERICAL_INTEGRATE" in CFLAGS.
2005-05-26 13:08:07 +00:00
minskim
0f4aa7642e Update mathomatic to 12.3.2.
Code cleanup and documentation improvements.
2005-05-15 14:32:29 +00:00
minskim
84873a711b Update mathomatic to 12.3. Bug fixes and many enhancements. See
changes.txt for the complete list of changes.
2005-04-29 13:05:28 +00:00
minskim
9c77237c97 Update mathomatic to 12.2c.
Changes:
  - Use mkstemp() for temp file in edit command.  Put temp file in "/tmp",
    instead of current directory.
  - Created my_strlcpy(), since Linux doesn't have strlcpy().
  - Made everything declared static that should be.
  - Prime Number Tools cleaned up and compiled with "-Wall".
  - Made them all successfully compile with g++.
  - A bug fix for HTML mode.
  - Completely removed sensitivity command and simplified parsing code.
  - Fixed minor bug in fraction format display routine.
2005-04-11 03:45:43 +00:00
minskim
3fd5abbf1a Update mathomatic to 12.2b.
Changes since 12.1d:
  - Various improvements and bug fixes.
  - Documentation with full command reference.
2005-03-28 14:52:28 +00:00
minskim
ee0cae71c1 Update mathomatic to 12.1d.
Changes since 11.7:
- Increased precision and optimization of code command.
- Prepared code for future improvement to integrate command.
- Integrate (a*constant^x) for x has been added.
- Allow differentiation and integration of -constant^x.
- Disabled power factoring of k^x*k^y, where k is a constant.
  This fixes a small bug.
- Reduced stack usage by almost 2/3.
- Reduced stack usage another large amount to the smallest it can be.
- Laplace (a*constant^x) and (a/constant^x) for x has been added.
- Allow integration of (a/constant^x) for x.
- Moved all numeric GCD routines to "gcd.c".
- Improved limit command for "limit x inf".
- Halved the default equation size and doubled the number of equation
  spaces to 40.
- Fixed bug that caused infinite loop for "2^(.5*n)" and incorrect answer
  for "-1^(2*n)".
- Allow edit command to work with no equations defined.
- Allow typing "abort" or "quit" during pause command.
- They both abort the current operation.
- Removed usage displayed every time a command fails.
- Simplify command once again prefers 1/(constant^n) instead of (1/constant)^n.
- Added "set finance" option.
- Some improvement to simplification of constants.
- Improved "factor number" command.  Made self-testing and allow
  multiple integers.
- Strip trailing newlines from string returned by getstring().
- Re-enabled power factoring of k^x*k^y, where k is a constant.
- The bug it had caused just disappeared.
- This is because a lot of changes have been made.
- Some speed up in polynomial factoring made by ignoring anything that
  is not a polynomial in any variable.
- Improved denominator rationalizer.
- Disabled power factoring of -1^x*-1^y.  This time it is done right.
- Added new function debug_string().  It simplifies the debugging code.
- Simplified pf_sub() (the polynomial factoring subroutine).
- Fixed up Prime Number Tools man pages.
- Improved matho-twin.
- Added simplification of roots like 12^.5 to 2*(3^.5) in simplify command.
- Code cleanup.
- Improved the results of solving by not always factoring constants.
- Added semicolon (";") to end of each line when using "list export".
- Some improvement made to the simplify command.
- More tests added to test suite.
- Fixed bug in patch_root_div().
- Fixed infinity/nan bug in uf_repeat().
2005-03-05 03:01:50 +00:00
agc
1e46c076aa Add RMD160 digests in addition to SHA1 ones. 2005-02-23 12:06:53 +00:00
minskim
bd7e54a2f0 Update mathomatic to 11.7.
Changes:

Another minor adjustment to simplify command to make everything work
just right.

Trap "derivative x" of (negative constant or zero)^x.

Solve "(constant)^y=constant" for y.

Moved all html files and the man page to subdirectory "doc".

Code cleanup.

Improved modulus solving.

Trap "x%0".  Simplify "x%inf".

Fix fraction list display of -0.

Change for better simplification.

Fix for division by roots of fractions.
2005-01-29 10:53:17 +00:00
minskim
f2cd83b8dd Update mathomatic to 11.6d.
Changes:

Some more improvement to simplification.

Displayed floating point precision reduced to 12 digits.

Allow typing just "e#" or "pi" on the command line, to give the
values for each.

Changed simplify command to prefer (1/constant)^n instead of 1/(constant^n).
It produces more efficient code and solves a problem.

Improved "code integer" command by allowing integer powers.

Improved eliminate command by trying next equation if solve fails.

"list export" now produces 100% Maxima compatible equations.

Changed "SILENT" compile time define to also remove all debugging code.
2005-01-14 14:52:44 +00:00
minskim
9416a40c03 Update mathomatic to 11.6c.
Changes:
- Some more touch-ups to solve routine.
- Changed uf_repeat() to skip expanding if the expression would be too big.
  This allows Mathomatic to work with huge exponents.
- Turned on "preserve_roots" option by default.
- Improved sum and product commands.  Allow counting down.
- Improved solve routine and removed display of useless messages.
- Added a fix to the limit command.
- Moved "source.txt" into "README.txt".
- Added code to simplify (inf+a) to (inf) generally.
- Fixed minor bug in calculate command.
- Minor fixes to elim_k().
- Improved limit command.
- Made all recursive functions in the source code static.
  Most functions never used globally defined as static.
- Improvement in command argument parsing.
- Added extrema command.
- Improved output of roots command.
- Fixed minor bug caused by "preserve_roots" option.
- Made file "am.htm" valid HTML.
- Simplification improved.
2005-01-08 07:09:50 +00:00