home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 52
/
Amiga_Dream_52.iso
/
Amiga
/
Applications
/
Mathematiques
/
BigCalc.lha
/
Readme
< prev
next >
Wrap
Text File
|
1993-11-28
|
6KB
|
174 lines
BigCalc
version 1.0
by John E> Perry, ///
ABOUT BigCalc
This is a Pseudo-arbitrary-precision integer calculator for the Amiga. What
does that mean? Well, most calculators have some built-in limit due to
computer hardware limitations for speed. Mathematicians, in particular
number theorists, don't necessarily need speed, but rather larger numbers.
So they go for arbitrary-precision integer arithmetic, which basically means
numbers as large as one cares to use.
Naturally, there are limitations due to computer memory and such. BigCalc in
particular has a built-in software limit of 1024 digits (currently, it only
accepts decimal numbers; no binary or hex, although it wouldn't be difficult
to change). It accepts positive or negative numbers. It performs addition,
subtraction, multiplication, and division (on the latter, it reports both the
quotient and the remainder).
It will probably be SLOW AS MOLASSES compared to normal hardware arithmetic,
but then again, normal hardware arithmetic doesn't let you divide 1000-digit
numbers, now, does it? :)
USING BigCalc
Frankly, the user interface is user-hostile, IMHO. Sorry, but I was in a bit
of a squeeze and, besides, my Modula-2 compiler was written for the 1.2 OS.
So the program is launched from a script file executed by IconX and is text-
only. On the other hand, it's extremely portable code. (Excuses, excuses...)
Basically, you have a calculator with ten accumulators to work in. There are
seven commands. All of them (except QUIT) accept input for the operation
from either the keyboard or the accumulators (I recommend using the
accumulators for the calculations). The commands and descriptions are:
HELP
get a fairly useless HELP paragraph to remind you of commands
SET
set an accumulator to a value
ADD
add two integers together, either accum + accum or accum + input
SUB
subtract one integer from another, either accum2 - accum1 or
accum - input (prompted for input first)
MUL
multiply two integers together, either accum * accum or
accum * input
DIV
divide one integer by another and store quotient and remainder.
Input formats:
accum2 / accum1
accum / input
WRITE
show the data in all ten accumulators
QUIT
this doesn't really count, does it?
Note that ALL COMMANDS MUST BE IN CAPS!!! On the other hand, all accumulator
values are in LOWER CAPS!!! e.g.:
a0 a1 ... a9
You are prompted for a command by the innovative and life-enhancing
BigCalc> _
Honestly, this program is NOT pretty. In the next major release (if there
ever IS another one) I intend to give it a whole Intuition interface with
cool gadgets and such. Maybe even an About... requester to make my name look
good.
PROBLEMS WITH BigCalc
Report all bugs and any requests for special compilations (e.g., binary
arithmetic or larger-size numbers) to:
John E> Perry, ///
Northern Arizona University Box #6220
Flagstaff, AZ
86011
jep@nauvax.ucc.nau.edu
My college career at NAU will be from late August '93 to May '94 (unless I
suddenly become a math dummy). Then I will find some other school which will
pay me to learn ;-), and work on a doctorate.
My permanent address is
124 Archer Rd.
Newport News, VA
23606-1102
in case the time has run out on the above.
Well, it's TEMPORARILY permanent.
LEGAL STUFF ON BigCalc
BigCalc is CARDWARE: Send me a postcard and you can play with it to your
heart's content. (Really, what's a postcard? C'mon... I WANT mail!!!)
I've also written a coupla other programs which, unlike BigCalc, were written
to be small sized and not CPU intensive (*I* know how to use Delay() and
Wait() :):
CatsEyes
MineRunner
Neither is a spectacular accomplishment, but both are, in the words of
spectators, respectively "cute" and "good".
BigCalc was programmed in Niklaus Wirth's masterpiece, Modula-2, which only
needs polymorphism and operator overloading to make my life easier. And, I
am required to say:
Developed using Modula-2/Amiga.
TDI Software Inc. Dallas, Texas.
TDI is now extinct, from what I've heard, but just in case.
(* ALERT: THIS IS A SOAPBOX STATEMENT *)
I intend to move to the Benchmark compiler as soon as I can affor it. I
will not write this in C because I'm making a point that C is not well-suited
for EVERY application. If I'd written this in C, it would've taken longer
due to Guru errors (I'm NOT the greatest programmer) and I'm not positive the
code would've been much smaller. Modula-2 is easier to MODIFY and REUSE, as
well.
(* SOAPBOX OVER *)
If you would like source code to this program, which runs about 600 lines or
so, please send a SASE.
I intend to eventually work out some Symbolic Manipulation on the Cheep for
the Amiga. It won't be M*thematica, but it'll be fun.
Please mail the card below. I want to better serve the Amiga community with
some worthwhile programs and docs.
----------------------------------Cut Here-----------------------------------
Name:_______________________________________________________________________
Age:____________ Model Amiga:________________________________________
Adress: ____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
Did the program run on your computer as advertised in the Readme file? If
not, what happened? If so, what comments do you have?
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
What is your educational level? ____________________________________________
Please check any mathematical interests you have:
Differential Equations: _______ Number Theory: _______
Calculus: _______ Basic Algebra: _______
Symbolic Manipulation: _______ 3D Graphs: _______
4D Graphs: _______ Abstract Algebra: _______
Please include as many additional comments as you would like.