File: README.txt

package info (click to toggle)
mathomatic 14.0.6-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,108 kB
  • ctags: 659
  • sloc: ansic: 16,067; makefile: 160; python: 77; sh: 74
file content (166 lines) | stat: -rw-r--r-- 7,032 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
                                   Mathomatic
                                       by
                               George Gesslein II

This archive contains the C source code and documentation for Mathomatic, the
automatic algebraic manipulator.  It should compile and run correctly under
Unix, GNU/Linux, Mac OS X, and Cygwin for MS-Windows, without any
modifications.

Mathomatic is a free, portable, general-purpose CAS (Computer Algebra System)
and calculator software that can symbolically solve, simplify, combine, and
compare equations, perform complex number and polynomial arithmetic, etc.  It
does some calculus and is very easy to use.

All software and documentation in this archive is copyrighted and made
available under the GNU Lesser General Public License (LGPL) version 2.1 (see
file "COPYING").

                                  Compilation
                                  -----------

This section can be skipped; you may wish to jump to the next section with
short compile/install instructions, or read the file "INSTALL.txt", if you
only wish to install Mathomatic.

To compile Mathomatic without readline support, type "make" at a shell prompt
while in the Mathomatic source directory.  This will compile the C source
code to create the executable file named "mathomatic".  To run Mathomatic,
type "./mathomatic" at the shell prompt or copy "mathomatic" to any directory
where it can be executed.

To test most functionality, type:

	make test

To recompile with readline editing and history of all Mathomatic input, type:

	make clean
	make READLINE=1

This allows you to use the cursor keys to recall and edit previously entered
or pushed expressions.

To compile Mathomatic as a stand-alone executable that has no shared library
dependencies, type:

	make "LIBS=-static -lm"

The resulting binary will run on any system with the same operating system
and architecture, because the libraries are static (included with the
binary).  Unfortunately, the "-static" option cannot be combined with
readline, due to the way the readline library works.

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.

                                  Installation
                                  ------------

A typical installation is done by typing the following at the shell prompt:

	make READLINE=1
	make test
	sudo make install

This will compile, test, and install the Mathomatic executable and docs in
"/usr/local" in less than a minute.

There are quite a few math goodies in this archive, besides the main
Mathomatic program:

  The files "mathomatic.ico" and "mathomatic.png" are icons for your desktop.
  The directory "doc" contains the Mathomatic documentation in HTML.
  The directory "tests" contains test scripts and other interesting scripts.
  The directory "primes" contains a prime number generator utility, etc.
  The directory "lib" contains the API and test for the Mathomatic library.
  The directory "m4" enables Mathomatic functions using the GNU m4 front-end.
  The directory "hard_stuff" contains a polynomial equation solver utility.

For quick help while running Mathomatic, type "?" or use the help command.
To read the documentation, point your web browser to the file
"doc/index.html", or "/usr/local/share/doc/mathomatic/html/index.html" if
Mathomatic was installed.  When copying the Mathomatic documentation, please
copy the entire documentation directory, not just selected files from it.

For the latest source code, documentation, and information, go to the
Mathomatic website: http://mathomatic.org

Author contact information:
  email:
    georgegesslein@gmail.com
  postal address:
    George Gesslein II
    43 Atwater Road
    Lansing, New York 14882
    USA

Please don't be shy about reporting bugs, just send an email to the author.


             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" (see "makefile").  To compile Mathomatic for a generic
system, simply compile with no defines.  To compile for Microsoft Win32 using
Cygwin, define only "CYGWIN" (see "makefile.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 "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.  "SILENT" is
automatically defined when this is defined.  Most standard input and output
is disabled and the code will function as a library.  See the directory "lib"
and the file "makefile.lib" for the library hooks and test.  The following
commands are omitted with this option: calculate, code, divide, edit,
nintegrate, optimize, pause, quit, roots, tally, and variables.

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.  All insecure
commands are omitted with this option.  See "compile.secure", which is the
secure Mathomatic build script.

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 "I18N" to enable internationalization.


                         Mathomatic C source code files
                         ------------------------------

  am.h - the main include file for Mathomatic, contains tunable parameters
  complex.h - floating point complex number arithmetic function prototypes
  externs.h - global variable extern definitions
  proto.h - global function prototypes

  am.c - many necessary routines
  cmds.c - code for commands that don't belong anywhere else
  complex.c - floating point complex number routines for Mathomatic
  complex_lib.c - generic floating point complex number arithmetic library
  diff.c - differentiation routines and commands
  factor.c - symbolic factorizing routines
  factor_int.c - floating point constant factorizing routines
  gcd.c - floating point Greatest Common Divisor code
  globals.c - global variable and array definitions
  help.c - command table, help command code, and parsing routines
  integrate.c - integration routines and commands
  list.c - expression and equation display routines
  main.c - startup code for Mathomatic
  parse.c - expression parsing routines
  poly.c - simplifying and polynomial routines
  simplify.c - simplifying routines
  solve.c - symbolic solving routines
  super.c - group and combine denominators
  unfactor.c - unfactorizing (expanding) routines