Short: Computer Algebra System Mathomatic Author: George Gesslein II Uploader: polluks+aminet sdf lonestar org (Stefan Haubenthal) Type: misc/math Version: 16.0.5 Architecture: ppc-morphos URL: https://github.com/mfillpot/mathomatic Mathomatic by George Gesslein II This archive contains the C source code for Mathomatic, the automatic algebraic manipulator. It should compile and run correctly under Unix, GNU/Linux, and Mac OS-X, without any modifications. Mathomatic is a portable, general purpose CAS (Computer Algebra System) that can solve, simplify, and combine algebraic equations. It does some calculus and is very easy to use. To compile, just type "make" at a shell prompt. This will compile the C source code to create the executable file named "mathomatic". To run Mathomatic, type "./mathomatic" at the shell prompt. To test most functionality, type "make test". To install, type "su root", then "make install". To add "readline" editing and history of all Mathomatic input, type "make clean" then "make READLINE=1". A typical installation is done by typing the following at the shell prompt: make READLINE=1 make test sudo make install This will install the executable, man page, and documentation in the proper directories in "/usr/local". To uninstall from the system, type: sudo make uninstall To compile the secure version, with no file I/O or shelling out, type: ./compile.secure This will silently create the executable "mathomatic_secure", which can safely be used as a telnet application or CGI program. This software is copyrighted and made available under the GNU Lesser GPL (see file "COPYING"). The file "changes.txt" is the version history of Mathomatic. The directory "doc" contains the HTML Mathomatic documentation. The directory "tests" contains test scripts and other interesting scripts. The directory "primes" contains the Mathomatic Prime Number Tools. The directory "lib" contains the hook and test for the Mathomatic library. The file "mathomatic.ico" is the Mathomatic Windows icon. For quick help while running Mathomatic, use the "help" command. To read the documentation, point your web browser to the "doc" directory. For the latest source code and information, go to the Mathomatic website: "http://www.mathomatic.com". Author e-mail: gesslein@panix.com Author postal address: George Gesslein II 875 Cobb Street Groton, New York 13073 USA Please email me any equations that don't work perfectly with Mathomatic. Thanks go to John Blommers at "http://www.blommers.org" and Gordon McKinney at "http://gmckinney.info" for their support, testing, and good ideas. And to Marijke van Gans for her fine programming examples. And to Jochen Plumeyer at "http://plumeyer.org" for hosting "mathomatic.com". Compile-Time Defines for the Mathomatic Source Code --------------------------------------------------- To compile Mathomatic for UNIX, GNU/Linux, Mac OS-X, or any POSIX compliant OS, define "UNIX". To compile Mathomatic for a generic system, simply compile with no defines. To compile for Microsoft Win32 using Cygwin, define "CYGWIN". Define "READLINE" and include the readline libraries at link time to use readline mode. This will allow easy command line editing and history. Define "BASICS" to remove some commands that aren't required for basic functionality. This is useful for creating a stripped down version and for using Mathomatic as a symbolic math library. Code size is reduced with this option. Define "SILENT" to remove all helpful messages and debugging code. This is useful when using Mathomatic as a symbolic math library. Code size is reduced with this option. Define "LIBRARY" when using as a symbolic math library. "BASICS" and "SILENT" are automatically defined when this is defined. Most standard input and output is disabled and the code will function as a library. Define "SECURE" to disable file reading and writing and shell escape. This is useful when making Mathomatic available to the public through telnet or CGI programs. It is also useful when making ROMable code. Code size is reduced with this option. Define "TIMEOUT_SECONDS" to set the maximum number of seconds Mathomatic may run. Upon timeout, Mathomatic properly exits. This is useful when making Mathomatic a CGI program, so it won't overload the server. Define "NO_COLOR" to remove the code that outputs ANSI escape sequences. This makes it safe on unknown terminals. Define "I18N" to enable internationalization. Testing ./mathomatic (Mathomatic version 16.0.5) cd tests && time -p ../mathomatic -t all 0<&- >test.out && diff -ui --strip-trailing-cr all.out test.out && rm test.out && cd .. All tests passed 100% correctly.