From a8d783b0953a545341f17bcb00f486552191f5bf Mon Sep 17 00:00:00 2001 From: llsth Date: Sun, 8 Mar 2015 23:28:11 +0100 Subject: [PATCH] Added missing files --- HISTORY | 106 +++++++++++++++ Makefile.m68k | 329 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 22 +++- script/complex1 | 12 ++ script/complex2 | 12 ++ script/complex3 | 24 ++++ script/function1 | 4 + script/function2 | 5 + script/function3 | 8 ++ script/operators | 8 ++ script/userfuncs | 5 + script/variables | 6 + 12 files changed, 539 insertions(+), 2 deletions(-) create mode 100644 HISTORY create mode 100644 Makefile.m68k create mode 100644 script/complex1 create mode 100644 script/complex2 create mode 100644 script/complex3 create mode 100644 script/function1 create mode 100644 script/function2 create mode 100644 script/function3 create mode 100644 script/operators create mode 100644 script/userfuncs create mode 100644 script/variables diff --git a/HISTORY b/HISTORY new file mode 100644 index 00000000..2920502b --- /dev/null +++ b/HISTORY @@ -0,0 +1,106 @@ +----------------------------- +--- amath release history --- +----------------------------- + +v1.5.5 March 05 2015 +- Fixed console bug causing shell to hang on AROS. + +v1.5.4 March 04 2015 +- Fixed several bugs in output of significant digits. +- Fixed sign bug in addition of negative complex numbers. +- Fixed sign bug in inverse hyperbolic cosine of complex numbers. +- Fixed sign bug in inverse hyperbolic secant of complex numbers. +- Fixed calculation bug in division of real number with complex number. +- Fixed calculation bug in exponentiation with complex number. +- Implemented reduction of unary sign in expressions. +- Implemented reduction of complex numbers in expressions. +- Implemented internal optimization of expression trees. +- Miscellaneous internal code optimization. +- Changed to Amiga hosted GCC compiler. +- Verified calculation through 192 test cases. + +v1.5.3 October 26 2014 +- Changed iconed versions to run directly from Workbench. +- Reconfigured builds to avoid erroneous calculations. +- Removed broken support for numeral systems. +- Switched to new floating output library. +- Reintroduced 68020 FPU and 68030 version. + +v1.5.2 October 11 2014 +- Modified character handling code to comply with licenses. +- Modified complex math code to comply with licenses. +- Modified code base to work with Kickstart 2.04. +- Square root of negative numbers now yield correct result. +- Implemented scientific notation of numbers. +- Infinity is now shown in division with 0. +- Fixed bug in number code sometimes yielding 0. +- Switched to Amiga memory allocation. +- Fixed out-of-memory bug. +- Miscellaneous bug fixes. +- Removed dead code. +- Added icons. + +v1.5.1 September 28 2014 +- Improved navigation with arrow keys. +- Improved text and color compositions. +- Implemented missing complex functions. +- Fixed bug in negative complex numbers. +- Fixed file I/O bug in shell mode. +- Fixed shell flush bug on AROS. +- Fixed clear console bug on AROS. +- Miscellaneous minor bug fixes. + +v1.5 September 21 2014 +- Calculation with complex numbers. +- Fixed command line version. +- Miscellaneous bug fixed. +- Fixed spelling mistakes in help files. +- Documentation including class diagrams in HTML format. +- Scripts for porting and building the source. + +v1.4 August 24 2014 +- New math engine based on Sun Microsystems fdlibm (64 bit IEEE 754). +- Support for positional numeral systems including binary, octal and hexadecimal. +- Added pure command line version (CLI) as addition to the stand-alone version. +- Added statement to clear all in-memory variables and functions. +- Fixed bug causing console to close when entering an empty statement. +- Fixed bug causing application to hang when loading files with KS 2.0.4. +- Fixed accuracy bug when using pi and e. +- Restructured and improved built-in help. +- Added new 68030 and FPU versions. + +v1.3.2 August 11 2014 +- Fixed two severe bugs causing memory corruption. + +v1.3.1 August 08 2014 +- AROS i386 version released. + +v1.3 August 06 2014 +- All trigonometric and hyperbolic functions are now supported. +- Runs in console window. amath no longer depends on a shell. +- Hardened code. amath is no longer a beta version. +- Added support for disk based activities. +- Fixed bug in exponentiation operator. +- Reverted back to clib math. +- Fixed a few memory leak bugs. +- Optimized generated binaries. +- Comments added in source code. +- Improved error handling. +- Improved built-in help. +- Simplified license. + +v1.2b July 21 2014 +- Root functions added. +- User defined functions added. +- Improved error handling. +- Improved build-in help. +- Binary support for additional processors. +- Miscellaneous bug fixes. +- Source files restructured. + +v1.1b July 13 2014 +- Minor bug fixes. +- Source code released. + +v1.0b July 11 2014 +- First public release. diff --git a/Makefile.m68k b/Makefile.m68k new file mode 100644 index 00000000..54c48d0b --- /dev/null +++ b/Makefile.m68k @@ -0,0 +1,329 @@ +# Amiga Makefile generated by configure + +all: amath + +CC = gcc +CFLAGS += -m68020 -O2 -DAOS -resident -s -I. -Wall -Werror +LFLAGS += -lgcc + +aconsole.o: arc/aos/sys/aconsole.cpp arc/aos/sys/aconsole.h def/libc.h def/xdef.h main/evaluator.h main/nodes.h + ${CC} ${CFLAGS} -c arc/aos/sys/aconsole.cpp + +afilesystem.o: arc/aos/sys/afilesystem.cpp arc/aos/sys/afilesystem.h def/libc.h def/text.h def/xdef.h lib/charbuf.h + ${CC} ${CFLAGS} -c arc/aos/sys/afilesystem.cpp + +aproc.o: arc/aos/sys/aproc.cpp arc/aos/sys/aproc.h arc/aos/sys/atask.h def/libc.h def/xdef.h io/thread.h + ${CC} ${CFLAGS} -c arc/aos/sys/aproc.cpp + +atask.o: arc/aos/sys/atask.cpp arc/aos/sys/atask.h def/libc.h def/xdef.h io/thread.h + ${CC} ${CFLAGS} -c arc/aos/sys/atask.cpp + +agraph.o: arc/aos/gui/agraph.cpp arc/aos/gui/agraph.h def/libc.h lib/fgrid.h lib/real.h main/functions.h + ${CC} ${CFLAGS} -c arc/aos/gui/agraph.cpp + +awindow.o: arc/aos/gui/awindow.cpp arc/aos/gui/awindow.h def/libc.h def/text.h def/xdef.h lib/aengine.h main/evaluator.h + ${CC} ${CFLAGS} -c arc/aos/gui/awindow.cpp + +cconsole.o: arc/stdc/cconsole.cpp arc/stdc/cconsole.h def/libc.h main/evaluator.h main/nodes.h + ${CC} ${CFLAGS} -c arc/stdc/cconsole.cpp + +cfilesystem.o: arc/stdc/cfilesystem.cpp arc/stdc/cfilesystem.h def/libc.h def/text.h io/filesystem.h lib/charbuf.h + ${CC} ${CFLAGS} -c arc/stdc/cfilesystem.cpp + +ctask.o: arc/stdc/ctask.cpp arc/stdc/ctask.h def/libc.h io/thread.h + ${CC} ${CFLAGS} -c arc/stdc/ctask.cpp + +console.o: io/console.cpp def/libc.h def/text.h def/xdef.h io/console.h + ${CC} ${CFLAGS} -c io/console.cpp + +aengine.o: lib/aengine.cpp def/libc.h def/text.h lib/aengine.h lib/charbuf.h + ${CC} ${CFLAGS} -c lib/aengine.cpp + +charbuf.o: lib/charbuf.cpp def/libc.h lib/charbuf.h + ${CC} ${CFLAGS} -c lib/charbuf.cpp + +cplex.o: lib/cplex.cpp lib/cplex.h lib/real.h libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c lib/cplex.cpp + +fgrid.o: lib/fgrid.cpp lib/fgrid.h lib/real.h main/functions.h + ${CC} ${CFLAGS} -c lib/fgrid.cpp + +graph.o: lib/graph.cpp lib/graph.h + ${CC} ${CFLAGS} -c lib/graph.cpp + +ntext.o: lib/ntext.cpp def/libc.h def/text.h lib/charbuf.h lib/cplex.h lib/dconv/print.h lib/ntext.h lib/real.h libm/cprim.h libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c lib/ntext.cpp + +real.o: lib/real.cpp def/libc.h lib/cplex.h lib/numb.h lib/real.h libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c lib/real.cpp + +dragon4.o: lib/dconv/dragon4.cpp lib/dconv/dragon4.h lib/dconv/math.h libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c lib/dconv/dragon4.cpp + +math.o: lib/dconv/math.cpp lib/dconv/standard.h + ${CC} ${CFLAGS} -c lib/dconv/math.cpp + +print.o: lib/dconv/print.cpp def/libc.h lib/dconv/dragon4.h lib/dconv/math.h lib/dconv/print.h + ${CC} ${CFLAGS} -c lib/dconv/print.cpp + +calloc.o: libc/calloc.cpp def/libc.h + ${CC} ${CFLAGS} -c libc/calloc.cpp + +memcpy.o: libc/memcpy.cpp def/libc.h + ${CC} ${CFLAGS} -c libc/memcpy.cpp + +memset.o: libc/memset.cpp def/libc.h + ${CC} ${CFLAGS} -c libc/memset.cpp + +strcmp.o: libc/strcmp.cpp + ${CC} ${CFLAGS} -c libc/strcmp.cpp + +strlen.o: libc/strlen.cpp + ${CC} ${CFLAGS} -c libc/strlen.cpp + +acos.o: libm/real/acos.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/acos.cpp + +acosh.o: libm/real/acosh.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/acosh.cpp + +asin.o: libm/real/asin.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/asin.cpp + +asinh.o: libm/real/asinh.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/asinh.cpp + +atan.o: libm/real/atan.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/atan.cpp + +atan2.o: libm/real/atan2.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/atan2.cpp + +atanh.o: libm/real/atanh.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/atanh.cpp + +cbrt.o: libm/real/cbrt.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/cbrt.cpp + +ceil.o: libm/real/ceil.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/ceil.cpp + +cos.o: libm/real/cos.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/cos.cpp + +cosh.o: libm/real/cosh.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/cosh.cpp + +exp.o: libm/real/exp.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/exp.cpp + +expm1.o: libm/real/expm1.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/expm1.cpp + +floor.o: libm/real/floor.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/floor.cpp + +fmod.o: libm/real/fmod.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/fmod.cpp + +hypot.o: libm/real/hypot.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/hypot.cpp + +kcos.o: libm/real/kcos.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/kcos.cpp + +kremp2.o: libm/real/kremp2.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/kremp2.cpp + +ksin.o: libm/real/ksin.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/ksin.cpp + +ktan.o: libm/real/ktan.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/ktan.cpp + +log.o: libm/real/log.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/log.cpp + +log10.o: libm/real/log10.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/log10.cpp + +log1p.o: libm/real/log1p.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/log1p.cpp + +pow.o: libm/real/pow.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/pow.cpp + +remp2.o: libm/real/remp2.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/remp2.cpp + +scalbn.o: libm/real/scalbn.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/scalbn.cpp + +sin.o: libm/real/sin.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/sin.cpp + +sinh.o: libm/real/sinh.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/sinh.cpp + +sqrt.o: libm/real/sqrt.cpp libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/sqrt.cpp + +tan.o: libm/real/tan.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/tan.cpp + +tanh.o: libm/real/tanh.cpp libm/rfunc.h libm/rprim.h + ${CC} ${CFLAGS} -c libm/real/tanh.cpp + +cacos.o: libm/cplex/cacos.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cacos.cpp + +cacosh.o: libm/cplex/cacosh.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cacosh.cpp + +cacot.o: libm/cplex/cacot.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cacot.cpp + +cacoth.o: libm/cplex/cacoth.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cacoth.cpp + +cacsc.o: libm/cplex/cacsc.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cacsc.cpp + +cacsch.o: libm/cplex/cacsch.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cacsch.cpp + +casec.o: libm/cplex/casec.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/casec.cpp + +casech.o: libm/cplex/casech.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/casech.cpp + +casin.o: libm/cplex/casin.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/casin.cpp + +casinh.o: libm/cplex/casinh.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/casinh.cpp + +catan.o: libm/cplex/catan.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/catan.cpp + +catanh.o: libm/cplex/catanh.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/catanh.cpp + +ccbrt.o: libm/cplex/ccbrt.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/ccbrt.cpp + +ccos.o: libm/cplex/ccos.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/ccos.cpp + +ccosh.o: libm/cplex/ccosh.cpp libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ccosh.cpp + +ccot.o: libm/cplex/ccot.cpp libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ccot.cpp + +ccoth.o: libm/cplex/ccoth.cpp libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ccoth.cpp + +ccsc.o: libm/cplex/ccsc.cpp libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ccsc.cpp + +ccsch.o: libm/cplex/ccsch.cpp libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ccsch.cpp + +cexp.o: libm/cplex/cexp.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/cexp.cpp + +clog.o: libm/cplex/clog.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/clog.cpp + +clog10.o: libm/cplex/clog10.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/clog10.cpp + +clogb.o: libm/cplex/clogb.cpp libm/cfunc.h libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/clogb.cpp + +cpow.o: libm/cplex/cpow.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/cpow.cpp + +csec.o: libm/cplex/csec.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/csec.cpp + +csech.o: libm/cplex/csech.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/csech.cpp + +csgn.o: libm/cplex/csgn.cpp libm/cprim.h + ${CC} ${CFLAGS} -c libm/cplex/csgn.cpp + +csin.o: libm/cplex/csin.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/csin.cpp + +csinh.o: libm/cplex/csinh.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/csinh.cpp + +csqrt.o: libm/cplex/csqrt.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/csqrt.cpp + +ctan.o: libm/cplex/ctan.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ctan.cpp + +ctanh.o: libm/cplex/ctanh.cpp libm/cfunc.h libm/cprim.h libm/rfunc.h + ${CC} ${CFLAGS} -c libm/cplex/ctanh.cpp + +evaluator.o: main/evaluator.cpp def/libc.h main/evaluator.h main/optimizer.h main/parser.h main/viewer.h + ${CC} ${CFLAGS} -c main/evaluator.cpp + +functions.o: main/functions.cpp def/libc.h def/text.h lib/numb.h main/functiondefs.h main/functions.h main/values.h prog/program.h + ${CC} ${CFLAGS} -c main/functions.cpp + +graphlist.o: main/graphlist.cpp def/io.h def/libc.h lib/numb.h main/graphlist.h + ${CC} ${CFLAGS} -c main/graphlist.cpp + +lexer.o: main/lexer.cpp def/lex.h def/libc.h main/lexer.h main/token.h prog/program.h + ${CC} ${CFLAGS} -c main/lexer.cpp + +nodes.o: main/nodes.cpp def/help.h def/libc.h def/text.h lib/charbuf.h lib/numb.h main/nodes.h + ${CC} ${CFLAGS} -c main/nodes.cpp + +operators.o: main/operators.cpp def/libc.h lib/charbuf.h lib/numb.h main/operators.h + ${CC} ${CFLAGS} -c main/operators.cpp + +optimizer.o: main/optimizer.cpp main/nodes.h main/optimizer.h main/values.h + ${CC} ${CFLAGS} -c main/optimizer.cpp + +parser.o: main/parser.cpp def/libc.h lib/cplex.h lib/numb.h lib/real.h main/functions.h main/operators.h main/parser.h main/statements.h main/values.h prog/program.h + ${CC} ${CFLAGS} -c main/parser.cpp + +statements.o: main/statements.cpp def/help.h def/libc.h def/text.h io/console.h lib/charbuf.h lib/real.h main/graphlist.h main/parser.h main/statements.h prog/program.h + ${CC} ${CFLAGS} -c main/statements.cpp + +token.o: main/token.cpp def/libc.h main/token.h + ${CC} ${CFLAGS} -c main/token.cpp + +values.o: main/values.cpp def/libc.h def/text.h lib/charbuf.h lib/cplex.h lib/numb.h lib/real.h main/nodes.h main/values.h prog/program.h + ${CC} ${CFLAGS} -c main/values.cpp + +viewer.o: main/viewer.cpp def/libc.h def/text.h lib/charbuf.h main/viewer.h + ${CC} ${CFLAGS} -c main/viewer.cpp + +cli.o: prog/cli.cpp def/io.h def/libc.h def/text.h def/xdef.h lib/charbuf.h main/evaluator.h prog/cli.h prog/program.h prog/test.h + ${CC} ${CFLAGS} -c prog/cli.cpp + +main.o: prog/main.cpp prog/cli.h prog/program.h + ${CC} ${CFLAGS} -c prog/main.cpp + +program.o: prog/program.cpp def/io.h def/libc.h io/console.h io/filesystem.h main/functions.h main/graphlist.h main/parser.h main/values.h prog/program.h + ${CC} ${CFLAGS} -c prog/program.cpp + +test.o: prog/test.cpp def/io.h def/libc.h def/text.h def/xdef.h lib/charbuf.h main/evaluator.h main/viewer.h prog/program.h prog/test.h + ${CC} ${CFLAGS} -c prog/test.cpp + + +amath: aconsole.o afilesystem.o aproc.o atask.o agraph.o awindow.o cconsole.o cfilesystem.o ctask.o console.o aengine.o charbuf.o cplex.o fgrid.o graph.o ntext.o real.o dragon4.o math.o print.o calloc.o memcpy.o memset.o strcmp.o strlen.o acos.o acosh.o asin.o asinh.o atan.o atan2.o atanh.o cbrt.o ceil.o cos.o cosh.o exp.o expm1.o floor.o fmod.o hypot.o kcos.o kremp2.o ksin.o ktan.o log.o log10.o log1p.o pow.o remp2.o scalbn.o sin.o sinh.o sqrt.o tan.o tanh.o cacos.o cacosh.o cacot.o cacoth.o cacsc.o cacsch.o casec.o casech.o casin.o casinh.o catan.o catanh.o ccbrt.o ccos.o ccosh.o ccot.o ccoth.o ccsc.o ccsch.o cexp.o clog.o clog10.o clogb.o cpow.o csec.o csech.o csgn.o csin.o csinh.o csqrt.o ctan.o ctanh.o evaluator.o functions.o graphlist.o lexer.o nodes.o operators.o optimizer.o parser.o statements.o token.o values.o viewer.o cli.o main.o program.o test.o + ${CC} ${CFLAGS} -s -o amath aconsole.o afilesystem.o aproc.o atask.o agraph.o awindow.o cconsole.o cfilesystem.o ctask.o console.o aengine.o charbuf.o cplex.o fgrid.o graph.o ntext.o real.o dragon4.o math.o print.o calloc.o memcpy.o memset.o strcmp.o strlen.o acos.o acosh.o asin.o asinh.o atan.o atan2.o atanh.o cbrt.o ceil.o cos.o cosh.o exp.o expm1.o floor.o fmod.o hypot.o kcos.o kremp2.o ksin.o ktan.o log.o log10.o log1p.o pow.o remp2.o scalbn.o sin.o sinh.o sqrt.o tan.o tanh.o cacos.o cacosh.o cacot.o cacoth.o cacsc.o cacsch.o casec.o casech.o casin.o casinh.o catan.o catanh.o ccbrt.o ccos.o ccosh.o ccot.o ccoth.o ccsc.o ccsch.o cexp.o clog.o clog10.o clogb.o cpow.o csec.o csech.o csgn.o csin.o csinh.o csqrt.o ctan.o ctanh.o evaluator.o functions.o graphlist.o lexer.o nodes.o operators.o optimizer.o parser.o statements.o token.o values.o viewer.o cli.o main.o program.o test.o ${LFLAGS} + +clean: + rm -f aconsole.o afilesystem.o aproc.o atask.o agraph.o awindow.o cconsole.o cfilesystem.o ctask.o console.o aengine.o charbuf.o cplex.o fgrid.o graph.o ntext.o real.o dragon4.o math.o print.o calloc.o memcpy.o memset.o strcmp.o strlen.o acos.o acosh.o asin.o asinh.o atan.o atan2.o atanh.o cbrt.o ceil.o cos.o cosh.o exp.o expm1.o floor.o fmod.o hypot.o kcos.o kremp2.o ksin.o ktan.o log.o log10.o log1p.o pow.o remp2.o scalbn.o sin.o sinh.o sqrt.o tan.o tanh.o cacos.o cacosh.o cacot.o cacoth.o cacsc.o cacsch.o casec.o casech.o casin.o casinh.o catan.o catanh.o ccbrt.o ccos.o ccosh.o ccot.o ccoth.o ccsc.o ccsch.o cexp.o clog.o clog10.o clogb.o cpow.o csec.o csech.o csgn.o csin.o csinh.o csqrt.o ctan.o ctanh.o evaluator.o functions.o graphlist.o lexer.o nodes.o operators.o optimizer.o parser.o statements.o token.o values.o viewer.o cli.o main.o program.o test.o amath + +depend: + @echo Dependencies already done diff --git a/README.md b/README.md index 14dbc73b..e79f6a7f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ -# amath -Simple command line calculator +amath - Simple command line calculator +====================================== + +Usage +~~~~~ + +Do a calculation: +> amath 1.2+1.4 + +Get an interactive promt: +> amath shell + +Show version string: +> amath version + +Run regression test: +> amath test + +Open amath in its own window (if supported): +> amath diff --git a/script/complex1 b/script/complex1 new file mode 100644 index 00000000..d4b3cfae --- /dev/null +++ b/script/complex1 @@ -0,0 +1,12 @@ +cos(1+2i); +sin(1+2i); +tan(1+2i); +cot(1+2i); +sec(1+2i); +csc(1+2i); +arccos(1+2i); +arcsin(1+2i); +arctan(1+2i); +arccot(1+2i); +arcsec(1+2i); +arccsc(1+2i); diff --git a/script/complex2 b/script/complex2 new file mode 100644 index 00000000..a081f04a --- /dev/null +++ b/script/complex2 @@ -0,0 +1,12 @@ +cosh(1+2i); +sinh(1+2i); +tanh(1+2i); +coth(1+2i); +sech(1+2i); +csch(1+2i); +arccosh(1+2i); +arcsinh(1+2i); +arctanh(1+2i); +arccoth(1+2i); +arcsech(1+2i); +arccsch(1+2i); diff --git a/script/complex3 b/script/complex3 new file mode 100644 index 00000000..1c997b05 --- /dev/null +++ b/script/complex3 @@ -0,0 +1,24 @@ +cos(-1.43-3.23i); +sin(-1.43-3.23i); +tan(-1.43-3.23i); +cot(-1.43-3.23i); +sec(-1.43-3.23i); +csc(-1.43-3.23i); +arccos(-1.43-3.23i); +arcsin(-1.43-3.23i); +arctan(-1.43-3.23i); +arccot(-1.43-3.23i); +arcsec(-1.43-3.23i); +arccsc(-1.43-3.23i); +cosh(-1.43-3.23i); +sinh(-1.43-3.23i); +tanh(-1.43-3.23i); +coth(-1.43-3.23i); +sech(-1.43-3.23i); +csch(-1.43-3.23i); +arccosh(-1.43-3.23i); +arcsinh(-1.43-3.23i); +arctanh(-1.43-3.23i); +arccoth(-1.43-3.23i); +arcsech(-1.43-3.23i); +arccsch(-1.43-3.23i); diff --git a/script/function1 b/script/function1 new file mode 100644 index 00000000..286dc557 --- /dev/null +++ b/script/function1 @@ -0,0 +1,4 @@ +pi; pi*2; pi/2; +cos(pi);cos(-pi);cos(pi/2); +sin(pi);sin(-pi);sin(pi/2); +tan(pi);tan(-pi);tan(pi/2); diff --git a/script/function2 b/script/function2 new file mode 100644 index 00000000..b248e97c --- /dev/null +++ b/script/function2 @@ -0,0 +1,5 @@ +log(1000);log(100); +log2(512);lb(128); +log(23.2);ln(103); +lg(1000);lb(15.32); +ln(e); diff --git a/script/function3 b/script/function3 new file mode 100644 index 00000000..9218771d --- /dev/null +++ b/script/function3 @@ -0,0 +1,8 @@ +sgn(2.3);sgn(-12.7);sgn(0); +round(1.5461);round(-1.5461); +ceil(43.5461);ceil(-43.5461); +floor(39.9531);floor(-39.9531); +trunc(23.827);trunc(-23.827); +sqrt(100);sqrt(52.23); +cbrt(1000);cbrt(52.23); + diff --git a/script/operators b/script/operators new file mode 100644 index 00000000..5afa16d3 --- /dev/null +++ b/script/operators @@ -0,0 +1,8 @@ +1.1+1.1;2.2*2.20; +3.3/1.1;3.3/1.05; +2^3;2^1.5;10^3; +10.2^1.2;100^0.5; +100^-0.3; +|1-2|;|1-|1-5||; +1.123456789; +-1.01234567890123456789; diff --git a/script/userfuncs b/script/userfuncs new file mode 100644 index 00000000..3d184afc --- /dev/null +++ b/script/userfuncs @@ -0,0 +1,5 @@ +f(x)=x*2+1; +g(y)=y^2+y*1.5+2; +a=2;b=3;c=a+b; +vars;funcs; +f(2.2);c+1.1; diff --git a/script/variables b/script/variables new file mode 100644 index 00000000..9704162a --- /dev/null +++ b/script/variables @@ -0,0 +1,6 @@ +d=1.1; +vars; +eval d=d+1; +eval d=d+1; +eval d=d*2; +vars;