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.
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().
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".
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".
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
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.
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.
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.
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.
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.
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.
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.
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.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
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.
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.
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.
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.
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.
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.
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#))".
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.
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.
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".
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.
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.
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.
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.
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.
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().
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.
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".
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.