diff --git a/doc/html/doc_8h_source.html b/doc/html/doc_8h_source.html index 94c08c69..a47b99b8 100644 --- a/doc/html/doc_8h_source.html +++ b/doc/html/doc_8h_source.html @@ -109,7 +109,7 @@ $(document).ready(function(){initNavTree('doc_8h_source.html','');});
doc.h
-Go to the documentation of this file.
1 /*-
2  * Copyright (c) 2015-2017 Carsten Sonne Larsen <cs@innolan.dk>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  *
25  */
26 
27 /**
28  * @file doc.h
29  * @brief Documentation in doxygen format.
30  *
31  */
32 
33 /*!
34  \mainpage Simple command line calculator
35  \section intro_sec Introduction
36 
37  A mathematical calculator capable of evaluating arithmetic expressions.
38  Main features include:
39  - Case sensitive command line interface
40  - Native IEEE 754 with 15 significant digits
41  - Calculations with real and complex numbers
42  - Variables and user defined functions
43  - Logarithmic and exponential functions
44  - Trigonometric and hyperbolic functions
45  - Mathematical constants and rounding functions
46  - Disk functions to load, save and view content
47  - Comprehensive and easy to use built-in help
48  - Freely distributable sources (BSD \ref license_page)
49 
50  \subsection install Installation
51  Install by copying the desired amath binary to C: or any other appropriate location.
52 
53  \subsection usage Usage
54  amath supply 50 \ref command_page combined with 7 arithmetic operators:
55  \verbatim
56  + Mathematical addition.
57  - Mathematical subtraction.
58  * Mathematical multiplication.
59  / Mathematical division.
60  ^ Mathematical exponentiation.
61  = Assignment of variable values.
62  | Absolute value of number.
63  \endverbatim
64 
65  Do a calculation in shell (CLI mode):
66  > amath 1.2+1.4
67 
68  Get an interactive promt in shell:
69  > amath shell
70 
71  Show version string:
72  > amath version
73 
74  Open amath in its own window:
75  > amath
76 
77  \subsection license License
78  amath is open source. The main repository is located at gitlab:<BR>
79  https://gitlab.com/rnger/amath
80 
81  \subsection download Download
82  Prebuild packages are available from gitlab.com <BR>
83  <BR><B>Windows with ANSI support</B><BR>
84  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-ansi-x86.exe (32 bit)<BR>
85  (SHA256 d308424862eef418d97e3b60c00b191f711349c6f856e12b4917b114ac2f6578)<BR>
86  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-ansi-x64.exe (64 bit)<BR>
87  (SHA256 170c5246f0bd0cec3e1d4f64c7c685d75cdbd5a5da7acf0ea4641c21e2a7d5ea)<BR>
88  <BR><B>Windows without ANSI support</B><BR>
89  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-x86.exe (32 bit)<BR>
90  (SHA256 1ee22651fb09dc841b71062b8a6e9f6da285d807d3216e935a15eca9df5fd614)<BR>
91  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-x64.exe (64 bit)<BR>
92  (SHA256 d3ba707f37ab27e90847d54839d65b0308124ac6ab61e1aac1deda44d87a7fad)<BR>
93  <BR>
94  FreeBSD: https://www.freshports.org/math/amath/<BR>
95 
96  \subsection history History
97  A full \ref release_page is available for amath.
98 
99 
100  \page command_page Statements and functions
101  \section command_sec Statements and functions
102 
103  \subsection command_stat Statements
104  \verbatim
105  clear Clear the console window.
106  def Define function.
107  delete Delete variable or function.
108  digits Set number of significant digits.
109  eval Evaluate arithmetic expression.
110  execute Execute statements in a file.
111  functions Show list of user defined functions.
112  help Show basic help text.
113  list Show the content of a directory.
114  show Show the content of a file.
115  load Load variable and functions from file.
116  save Save variable and functions to file.
117  variables Show list of variables.
118  version Show version string.
119  exit Exit program.
120  \endverbatim
121  \subsection command_func Base functions
122  \verbatim
123  abs Absolute value of number.
124  sgn Mathematical signum function.
125  round Round to nearest integer number.
126  trunc Discard fraction part of number.
127  floor Mathematical floor function.
128  ceil Mathematical ceiling function.
129  sqrt Square root function (exp 1/2).
130  cbrt Cube root function (exp 1/3).
131  lb Binary logarithm function (base 2).
132  ln Natural logarithm function (base e).
133  lg Common logarithm function (base 10).
134  \endverbatim
135  \subsection command_trig Trigonometric functions
136  \verbatim
137  sin Trigonometric sine function.
138  cos Trigonometric cosine function.
139  tan Trigonometric tangent function.
140  cot Trigonometric cotangent function.
141  sec Trigonometric secant function.
142  csc Trigonometric cosecant function.
143  arcsin Inverse trigonometric sine function.
144  arccos Inverse trigonometric cosine function.
145  arctan Inverse trigonometric tangent function.
146  arccot Inverse trigonometric cotangent function.
147  arcsec Inverse trigonometric secant function.
148  arccsc Inverse trigonometric cosecant function.
149  \endverbatim
150  \subsection command_hype Hyperbolic functions
151  \verbatim
152  sinh Hyperbolic sine function.
153  cosh Hyperbolic cosine function.
154  tanh Hyperbolic tangent function.
155  coth Hyperbolic cotangent function.
156  sech Hyperbolic secant function.
157  csch Hyperbolic cosecant function.
158  arcsinh Inverse hyperbolic sine function.
159  arccosh Inverse hyperbolic cosine function.
160  arctanh Inverse hyperbolic tangent function.
161  arccoth Inverse hyperbolic cotangent function.
162  arcsech Inverse hyperbolic secant function.
163  arccsch Inverse hyperbolic cosecant function.
164  \endverbatim
165  \subsection command_exfunc Example script
166  \verbatim
167  round(1.5461);round(-1.5461);
168  ceil(43.5461);ceil(-43.5461);
169  floor(39.9531);floor(-39.9531);
170  trunc(23.827);trunc(-23.827);
171  sqrt(100);sqrt(52.23);
172  \endverbatim
173  \subsection command_exuserfunc Example script with functions
174  \verbatim
175  f(x)=x*2+1;
176  g(y)=y^2+y*1.5+2;
177  a=2;b=3;c=a+b;
178  vars;funcs;
179  f(2.2);c+1.1;
180  \endverbatim
181  \subsection command_excomplex Example script with complex numbers
182  \verbatim
183  cos(1+2i);
184  sin(1+2i);
185  tan(1+2i);
186  coth(1+2i);
187  sech(1+2i);
188  csch(1+2i);
189  \endverbatim
190 
191 
192  \page license_page License
193  \section license_sec License
194  amath is using a permissive free software licenses.
195 
196  \subsection license_bsd BSD License
197  <BLOCKQUOTE><PRE>
198  Copyright (c) 2015-2017 Carsten Sonne Larsen <cs@innolan.dk>
199  All rights reserved.
200 
201  Redistribution and use in source and binary forms, with or without
202  modification, are permitted provided that the following conditions are met:
203 
204  * Redistributions of source code must retain the above copyright notice, this
205  list of conditions and the following disclaimer.
206 
207  * Redistributions in binary form must reproduce the above copyright notice,
208  this list of conditions and the following disclaimer in the documentation
209  and/or other materials provided with the distribution.
210 
211  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
212  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
213  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
214  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
215  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
216  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
217  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
218  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
219  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
220  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
221  </PRE></BLOCKQUOTE>
222 
223  Some functions defined in complex.h
224  <BLOCKQUOTE><PRE>
225  Copyright (c) 2007 The NetBSD Foundation, Inc.
226  All rights reserved.
227 
228  This code is derived from software written by Stephen L. Moshier.
229  It is redistributed by the NetBSD Foundation by permission of the author.
230 
231  Redistribution and use in source and binary forms, with or without
232  modification, are permitted provided that the following conditions
233  are met:
234  1. Redistributions of source code must retain the above copyright
235  notice, this list of conditions and the following disclaimer.
236  2. Redistributions in binary form must reproduce the above copyright
237  notice, this list of conditions and the following disclaimer in the
238  documentation and/or other materials provided with the distribution.
239 
240  THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
241  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
242  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
243  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
244  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
245  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
246  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
247  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
248  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
249  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
250  POSSIBILITY OF SUCH DAMAGE.
251  </PRE></BLOCKQUOTE>
252 
253  Some functions defined in clib.h
254  <BLOCKQUOTE><PRE>
255  Copyright (c) 1990, 1993
256  The Regents of the University of California. All rights reserved.
257 
258  This code is derived from software contributed to Berkeley by
259  Mike Hibler and Chris Torek.
260 
261  Redistribution and use in source and binary forms, with or without
262  modification, are permitted provided that the following conditions
263  are met:
264  1. Redistributions of source code must retain the above copyright
265  notice, this list of conditions and the following disclaimer.
266  2. Redistributions in binary form must reproduce the above copyright
267  notice, this list of conditions and the following disclaimer in the
268  documentation and/or other materials provided with the distribution.
269  4. Neither the name of the University nor the names of its contributors
270  may be used to endorse or promote products derived from this software
271  without specific prior written permission.
272 
273  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
274  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
275  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
276  ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
277  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
278  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
279  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
280  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
281  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
282  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
283  SUCH DAMAGE.
284  </PRE></BLOCKQUOTE>
285 
286  \subsection license_tem Template
287  A template for The BSD 2-Clause License are available from the
288  Open Source Initiative and Wikipidia<BR>
289  http://opensource.org/licenses/BSD-2-Clause<BR>
290  http://en.wikipedia.org/wiki/BSD_licenses<BR>
291 
292 
293  \page release_page Release history
294  \section release_sec Release history
295 
296  \subsection version162 v1.6.2 January 24 2017
297  - Fixed bug in memory allocation
298  - Fixed bug in native keybord input
299  - Included build options in executables
300 
301  \subsection version161 v1.6.1 January 21 2017
302  - Fixed language bug in Windows
303  - Fixed potential memory bugs
304  - Clang compiler support
305  - Update copyright texts
306  - New doxygen documentation
307 
308  \subsection version160 v1.6.0 April 7 2016
309  - Complete internal restructure of source code.
310  - Fixed several minor bugs in calculation.
311  - Support for Windows & Linux.
312  - Custom memory handling.
313  - Localization support.
314 
315  \subsection version154 1.5.4 March 04 2015
316  - Fixed several bugs in output of significant digits.
317  - Fixed sign bug in addition of negative complex numbers.
318  - Fixed sign bug in inverse hyperbolic cosine of complex numbers.
319  - Fixed sign bug in inverse hyperbolic secant of complex numbers.
320  - Fixed calculation bug in division of real number with complex number.
321  - Fixed calculation bug in exponentiation with complex number.
322  - Implemented reduction of unary sign in expressions.
323  - Implemented reduction of complex numbers in expressions.
324  - Implemented internal optimization of expression trees.
325  - Miscellaneous internal code optimization.
326  - Changed to Amiga hosted GCC compiler (ADE).
327  - Verified calculation through 192 test cases.
328 
329  \subsection version153 1.5.3 October 26 2014
330  - Changed iconed versions to run directly from Workbench.
331  - Reconfigured builds to avoid erroneous calculations.
332  - Removed broken support for numeral systems.
333  - Switched to new floating output library.
334  - Reintroduced 68020 FPU and 68030 version.
335 
336  \subsection version152 1.5.2 October 11 2014
337  - Modified character handling code to comply with licenses.
338  - Modified complex math code to comply with licenses.
339  - Modified code base to work with Kickstart 2.04.
340  - Square root of negative numbers now yield correct result.
341  - Implemented scientific notation of numbers.
342  - Infinity is now shown in division with 0.
343  - Fixed bug in number code sometimes yielding 0.
344  - Switched to Amiga memory allocation.
345  - Fixed out-of-memory bug.
346  - Miscellaneous bug fixes.
347  - Removed dead code.
348  - Added icons.
349 
350  \subsection version151 1.5.1 September 28 2014
351  - Improved navigation with arrow keys.
352  - Improved text and color compositions.
353  - Implemented missing complex functions.
354  - Fixed bug in negative complex numbers.
355  - Fixed file I/O bug in shell mode.
356  - Fixed shell flush bug on AROS.
357  - Fixed clear console bug on AROS.
358  - Miscellaneous minor bug fixes.
359 
360  \subsection version15 1.5 September 21 2014
361  - Calculation with complex numbers.
362  - Fixed command line version.
363  - Miscellaneous bug fixed.
364  - Fixed spelling mistakes in help files.
365  - Documentation including class diagrams in HTML format.
366  - Scripts for porting and building the source.
367 
368  \subsection version14 1.4 August 24 2014
369  - New math engine based on Sun Microsystems fdlibm (64 bit IEEE 754).
370  - Support for positional numeral systems including binary, octal and hexadecimal.
371  - Added pure command line version (CLI) as addition to the stand-alone version.
372  - Added statement to clear all in-memory variables and functions.
373  - Fixed bug causing console to close when entering an empty statement.
374  - Fixed bug causing application to hang when loading files with KS 2.0.4.
375  - Fixed accuracy bug when using pi and e.
376  - Restructured and improved built-in help.
377  - Added new 68030 and FPU versions.
378 
379  \subsection version132 1.3.2 August 11 2014
380  - Fixed two severe bugs causing memory corruption.
381 
382  \subsection version131 1.3.1 August 08 2014
383  - AROS i386 version released.
384 
385  \subsection version13 1.3 August 06 2014
386  - All trigonometric and hyperbolic functions are now supported.
387  - Runs in console window. amath no longer depends on a shell.
388  - Hardened code. amath is no longer a beta version.
389  - Added support for disk based activities.
390  - Fixed bug in exponentiation operator.
391  - Reverted back to clib math.
392  - Fixed a few memory leak bugs.
393  - Optimized generated binaries.
394  - Comments added in source code.
395  - Improved error handling.
396  - Improved built-in help.
397  - Simplified license.
398 
399  \subsection version12b 1.2b July 21 2014
400  - Root functions added.
401  - User defined functions added.
402  - Improved error handling.
403  - Improved build-in help.
404  - Binary support for additional processors.
405  - Miscellaneous bug fixes.
406  - Source files restructured.
407 
408  \subsection version11b 1.1b July 13 2014
409  - Minor bug fixes.
410  - Source code released.
411 
412  \subsection version10b 1.0b July 11 2014
413  - First public release.
414 
415 */
+Go to the documentation of this file.
1 /*-
2  * Copyright (c) 2015-2017 Carsten Sonne Larsen <cs@innolan.dk>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  *
25  */
26 
27 /**
28  * @file doc.h
29  * @brief Documentation in doxygen format.
30  *
31  */
32 
33 /*!
34  \mainpage Simple command line calculator
35  \section intro_sec Introduction
36 
37  A mathematical calculator capable of evaluating arithmetic expressions.
38  Main features include:
39  - Case sensitive command line interface
40  - Native IEEE 754 with 15 significant digits
41  - Calculations with real and complex numbers
42  - Variables and user defined functions
43  - Logarithmic and exponential functions
44  - Trigonometric and hyperbolic functions
45  - Mathematical constants and rounding functions
46  - Disk functions to load, save and view content
47  - Comprehensive and easy to use built-in help
48  - Freely distributable sources (BSD \ref license_page)
49 
50  \subsection install Installation
51  Install by copying the desired amath binary to C: or any other appropriate location.
52 
53  \subsection usage Usage
54  amath supply 50 \ref command_page combined with 7 arithmetic operators:
55  \verbatim
56  + Mathematical addition.
57  - Mathematical subtraction.
58  * Mathematical multiplication.
59  / Mathematical division.
60  ^ Mathematical exponentiation.
61  = Assignment of variable values.
62  | Absolute value of number.
63  \endverbatim
64 
65  Do a calculation in shell (CLI mode):
66  > amath 1.2+1.4
67 
68  Get an interactive promt in shell:
69  > amath shell
70 
71  Show version string:
72  > amath version
73 
74  Open amath in its own window:
75  > amath
76 
77  \subsection license License
78  amath is open source. The main repository is located at gitlab:<BR>
79  https://gitlab.com/rnger/amath
80 
81  \subsection download Download
82  Prebuild packages are available from gitlab.com <BR>
83  <BR><B>Windows with ANSI support</B><BR>
84  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-ansi-x86.exe (32 bit)<BR>
85  (SHA256 d308424862eef418d97e3b60c00b191f711349c6f856e12b4917b114ac2f6578)<BR>
86  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-ansi-x64.exe (64 bit)<BR>
87  (SHA256 170c5246f0bd0cec3e1d4f64c7c685d75cdbd5a5da7acf0ea4641c21e2a7d5ea)<BR>
88  <BR><B>Windows without ANSI support</B><BR>
89  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-x86.exe (32 bit)<BR>
90  (SHA256 1ee22651fb09dc841b71062b8a6e9f6da285d807d3216e935a15eca9df5fd614)<BR>
91  https://gitlab.com/rnger/amath/raw/master/bin/amath-1.6.2-x64.exe (64 bit)<BR>
92  (SHA256 d3ba707f37ab27e90847d54839d65b0308124ac6ab61e1aac1deda44d87a7fad)<BR>
93  <BR>
94  FreeBSD: https://www.freshports.org/math/amath/<BR>
95  <BR>
96  Included in the Icaros Desktop environment:<BR>
97  http://vmwaros.blogspot.com/
98 
99  \subsection history History
100  A full \ref release_page is available for amath.
101 
102 
103  \page command_page Statements and functions
104  \section command_sec Statements and functions
105 
106  \subsection command_stat Statements
107  \verbatim
108  clear Clear the console window.
109  def Define function.
110  delete Delete variable or function.
111  digits Set number of significant digits.
112  eval Evaluate arithmetic expression.
113  execute Execute statements in a file.
114  functions Show list of user defined functions.
115  help Show basic help text.
116  list Show the content of a directory.
117  show Show the content of a file.
118  load Load variable and functions from file.
119  save Save variable and functions to file.
120  variables Show list of variables.
121  version Show version string.
122  exit Exit program.
123  \endverbatim
124  \subsection command_func Base functions
125  \verbatim
126  abs Absolute value of number.
127  sgn Mathematical signum function.
128  round Round to nearest integer number.
129  trunc Discard fraction part of number.
130  floor Mathematical floor function.
131  ceil Mathematical ceiling function.
132  sqrt Square root function (exp 1/2).
133  cbrt Cube root function (exp 1/3).
134  lb Binary logarithm function (base 2).
135  ln Natural logarithm function (base e).
136  lg Common logarithm function (base 10).
137  \endverbatim
138  \subsection command_trig Trigonometric functions
139  \verbatim
140  sin Trigonometric sine function.
141  cos Trigonometric cosine function.
142  tan Trigonometric tangent function.
143  cot Trigonometric cotangent function.
144  sec Trigonometric secant function.
145  csc Trigonometric cosecant function.
146  arcsin Inverse trigonometric sine function.
147  arccos Inverse trigonometric cosine function.
148  arctan Inverse trigonometric tangent function.
149  arccot Inverse trigonometric cotangent function.
150  arcsec Inverse trigonometric secant function.
151  arccsc Inverse trigonometric cosecant function.
152  \endverbatim
153  \subsection command_hype Hyperbolic functions
154  \verbatim
155  sinh Hyperbolic sine function.
156  cosh Hyperbolic cosine function.
157  tanh Hyperbolic tangent function.
158  coth Hyperbolic cotangent function.
159  sech Hyperbolic secant function.
160  csch Hyperbolic cosecant function.
161  arcsinh Inverse hyperbolic sine function.
162  arccosh Inverse hyperbolic cosine function.
163  arctanh Inverse hyperbolic tangent function.
164  arccoth Inverse hyperbolic cotangent function.
165  arcsech Inverse hyperbolic secant function.
166  arccsch Inverse hyperbolic cosecant function.
167  \endverbatim
168  \subsection command_exfunc Example script
169  \verbatim
170  round(1.5461);round(-1.5461);
171  ceil(43.5461);ceil(-43.5461);
172  floor(39.9531);floor(-39.9531);
173  trunc(23.827);trunc(-23.827);
174  sqrt(100);sqrt(52.23);
175  \endverbatim
176  \subsection command_exuserfunc Example script with functions
177  \verbatim
178  f(x)=x*2+1;
179  g(y)=y^2+y*1.5+2;
180  a=2;b=3;c=a+b;
181  vars;funcs;
182  f(2.2);c+1.1;
183  \endverbatim
184  \subsection command_excomplex Example script with complex numbers
185  \verbatim
186  cos(1+2i);
187  sin(1+2i);
188  tan(1+2i);
189  coth(1+2i);
190  sech(1+2i);
191  csch(1+2i);
192  \endverbatim
193 
194 
195  \page license_page License
196  \section license_sec License
197  amath is using a permissive free software licenses.
198 
199  \subsection license_bsd BSD License
200  <BLOCKQUOTE><PRE>
201  Copyright (c) 2015-2017 Carsten Sonne Larsen <cs@innolan.dk>
202  All rights reserved.
203 
204  Redistribution and use in source and binary forms, with or without
205  modification, are permitted provided that the following conditions are met:
206 
207  * Redistributions of source code must retain the above copyright notice, this
208  list of conditions and the following disclaimer.
209 
210  * Redistributions in binary form must reproduce the above copyright notice,
211  this list of conditions and the following disclaimer in the documentation
212  and/or other materials provided with the distribution.
213 
214  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
215  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
216  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
217  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
218  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
219  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
220  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
221  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
222  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
223  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
224  </PRE></BLOCKQUOTE>
225 
226  Some functions defined in complex.h
227  <BLOCKQUOTE><PRE>
228  Copyright (c) 2007 The NetBSD Foundation, Inc.
229  All rights reserved.
230 
231  This code is derived from software written by Stephen L. Moshier.
232  It is redistributed by the NetBSD Foundation by permission of the author.
233 
234  Redistribution and use in source and binary forms, with or without
235  modification, are permitted provided that the following conditions
236  are met:
237  1. Redistributions of source code must retain the above copyright
238  notice, this list of conditions and the following disclaimer.
239  2. Redistributions in binary form must reproduce the above copyright
240  notice, this list of conditions and the following disclaimer in the
241  documentation and/or other materials provided with the distribution.
242 
243  THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
244  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
245  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
246  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
247  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
248  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
249  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
250  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
251  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
252  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
253  POSSIBILITY OF SUCH DAMAGE.
254  </PRE></BLOCKQUOTE>
255 
256  Some functions defined in clib.h
257  <BLOCKQUOTE><PRE>
258  Copyright (c) 1990, 1993
259  The Regents of the University of California. All rights reserved.
260 
261  This code is derived from software contributed to Berkeley by
262  Mike Hibler and Chris Torek.
263 
264  Redistribution and use in source and binary forms, with or without
265  modification, are permitted provided that the following conditions
266  are met:
267  1. Redistributions of source code must retain the above copyright
268  notice, this list of conditions and the following disclaimer.
269  2. Redistributions in binary form must reproduce the above copyright
270  notice, this list of conditions and the following disclaimer in the
271  documentation and/or other materials provided with the distribution.
272  4. Neither the name of the University nor the names of its contributors
273  may be used to endorse or promote products derived from this software
274  without specific prior written permission.
275 
276  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
277  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
278  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
279  ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
280  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
281  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
282  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
283  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
284  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
285  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
286  SUCH DAMAGE.
287  </PRE></BLOCKQUOTE>
288 
289  \subsection license_tem Template
290  A template for The BSD 2-Clause License are available from the
291  Open Source Initiative and Wikipidia<BR>
292  http://opensource.org/licenses/BSD-2-Clause<BR>
293  http://en.wikipedia.org/wiki/BSD_licenses<BR>
294 
295 
296  \page release_page Release history
297  \section release_sec Release history
298 
299  \subsection version162 v1.6.2 January 24 2017
300  - Fixed bug in memory allocation
301  - Fixed bug in native keybord input
302  - Included build options in executables
303 
304  \subsection version161 v1.6.1 January 21 2017
305  - Fixed language bug in Windows
306  - Fixed potential memory bugs
307  - Clang compiler support
308  - Update copyright texts
309  - New doxygen documentation
310 
311  \subsection version160 v1.6.0 April 7 2016
312  - Complete internal restructure of source code.
313  - Fixed several minor bugs in calculation.
314  - Support for Windows & Linux.
315  - Custom memory handling.
316  - Localization support.
317 
318  \subsection version154 1.5.4 March 04 2015
319  - Fixed several bugs in output of significant digits.
320  - Fixed sign bug in addition of negative complex numbers.
321  - Fixed sign bug in inverse hyperbolic cosine of complex numbers.
322  - Fixed sign bug in inverse hyperbolic secant of complex numbers.
323  - Fixed calculation bug in division of real number with complex number.
324  - Fixed calculation bug in exponentiation with complex number.
325  - Implemented reduction of unary sign in expressions.
326  - Implemented reduction of complex numbers in expressions.
327  - Implemented internal optimization of expression trees.
328  - Miscellaneous internal code optimization.
329  - Changed to Amiga hosted GCC compiler (ADE).
330  - Verified calculation through 192 test cases.
331 
332  \subsection version153 1.5.3 October 26 2014
333  - Changed iconed versions to run directly from Workbench.
334  - Reconfigured builds to avoid erroneous calculations.
335  - Removed broken support for numeral systems.
336  - Switched to new floating output library.
337  - Reintroduced 68020 FPU and 68030 version.
338 
339  \subsection version152 1.5.2 October 11 2014
340  - Modified character handling code to comply with licenses.
341  - Modified complex math code to comply with licenses.
342  - Modified code base to work with Kickstart 2.04.
343  - Square root of negative numbers now yield correct result.
344  - Implemented scientific notation of numbers.
345  - Infinity is now shown in division with 0.
346  - Fixed bug in number code sometimes yielding 0.
347  - Switched to Amiga memory allocation.
348  - Fixed out-of-memory bug.
349  - Miscellaneous bug fixes.
350  - Removed dead code.
351  - Added icons.
352 
353  \subsection version151 1.5.1 September 28 2014
354  - Improved navigation with arrow keys.
355  - Improved text and color compositions.
356  - Implemented missing complex functions.
357  - Fixed bug in negative complex numbers.
358  - Fixed file I/O bug in shell mode.
359  - Fixed shell flush bug on AROS.
360  - Fixed clear console bug on AROS.
361  - Miscellaneous minor bug fixes.
362 
363  \subsection version15 1.5 September 21 2014
364  - Calculation with complex numbers.
365  - Fixed command line version.
366  - Miscellaneous bug fixed.
367  - Fixed spelling mistakes in help files.
368  - Documentation including class diagrams in HTML format.
369  - Scripts for porting and building the source.
370 
371  \subsection version14 1.4 August 24 2014
372  - New math engine based on Sun Microsystems fdlibm (64 bit IEEE 754).
373  - Support for positional numeral systems including binary, octal and hexadecimal.
374  - Added pure command line version (CLI) as addition to the stand-alone version.
375  - Added statement to clear all in-memory variables and functions.
376  - Fixed bug causing console to close when entering an empty statement.
377  - Fixed bug causing application to hang when loading files with KS 2.0.4.
378  - Fixed accuracy bug when using pi and e.
379  - Restructured and improved built-in help.
380  - Added new 68030 and FPU versions.
381 
382  \subsection version132 1.3.2 August 11 2014
383  - Fixed two severe bugs causing memory corruption.
384 
385  \subsection version131 1.3.1 August 08 2014
386  - AROS i386 version released.
387 
388  \subsection version13 1.3 August 06 2014
389  - All trigonometric and hyperbolic functions are now supported.
390  - Runs in console window. amath no longer depends on a shell.
391  - Hardened code. amath is no longer a beta version.
392  - Added support for disk based activities.
393  - Fixed bug in exponentiation operator.
394  - Reverted back to clib math.
395  - Fixed a few memory leak bugs.
396  - Optimized generated binaries.
397  - Comments added in source code.
398  - Improved error handling.
399  - Improved built-in help.
400  - Simplified license.
401 
402  \subsection version12b 1.2b July 21 2014
403  - Root functions added.
404  - User defined functions added.
405  - Improved error handling.
406  - Improved build-in help.
407  - Binary support for additional processors.
408  - Miscellaneous bug fixes.
409  - Source files restructured.
410 
411  \subsection version11b 1.1b July 13 2014
412  - Minor bug fixes.
413  - Source code released.
414 
415  \subsection version10b 1.0b July 11 2014
416  - First public release.
417 
418 */