Eval is a floating point expression evaluator. This is version 1.13 Copyright (C) 1993 Will Menninger NOTE: This is not the same Eval program as the one by Copy Con, Inc, though they have a similar purpose. They are completely independent efforts. I put the "m" in the archive name (meval113.zip--m for Menninger) to distinguish the archive from Copy Con's EVAL106.ZIP. Other MS-DOS utilities like Eval are UCalc, by Daniel Corbier, and MathFC, by Greg Kochaniak, both at garbo.uwasa.fi:/pc/math. If Eval doesn't satisfy you, you might try these. Brief Description ----------------- Eval 1.13 is an interactive floating point C-like expression evaluator. You give it an expression with numeric constants and variables and functions, and it churns out a numeric answer. You can use it to immediately evaluate an expression from the DOS prompt, or you can run it interactively, storing variables as you go so that you can do more involved calculations. To use Eval, just give it an expression: Eval "2*3+sin(_pi*.44/2)" (The quotes are necessary on some operating systems to prevent misinterpretation of the * and other special characters). Or just run Eval without arguments. Documentation is built-in. To get Eval to print it's documentation, on most O/S's, just type Eval help > evalhelp.txt Then print the file evalhelp.txt. Eval's features include good precision, input and output in any number base, a large number of built-in functions and constants, flexible numeric output format, and ability to save and recall sessions from disk. Eval, however, does not have these features: arbitrary precision, symbolic manipulation, dynamic function definition, and complex numbers. You can modify Eval to your heart's content. The source code is included with this distribution. To see how to add custom functions or constants, see the "Source Code" section below. The source is in ANSI C and has no conditional compile directives. I have compiled Eval without modification on several different ANSI C compilers, including the MIPS u-code C compiler, the NERSC cc compiler, Macintosh Think C 5.0, Turbo C 2.0, Manx Aztec C 5.2 (Amiga), and SAS C 6.0 (Amiga). I have compiled on VMS with minor modifications due to the compiler I used not being ANSI standard. Licensing --------- This is my first venture into public domain software, and while I hate dealing with rules and licenses and all that, I decided that I had to protect myself, so I am using the GNU public license agreement to set the terms for redistributing this software. Please read the GNU public license agreement in the file, COPYING. In sum, the license allows you to freely copy and modify this software, but you can't pull any dirty tricks like using it for profit or calling it your own or making up your own restrictions on it if you redistribute it. Distribution Description -- MS-DOS ---------------------------------- This distribution comes with the full source code to Eval, which is written for ANSI compliant C compilers. This distribution also includes an executable version of Eval for MS-DOS machines, EVAL.EXE. The IBM-PC version was compiled using Borland's Turbo C 2.0. It auto-detects an FPU and uses it if available. It should work on any PC. The source code --------------- In the SRC directory of this archive are nine C modules, one header file, and several make files. If you would like to add custom constants to Eval, look at eval.c. If you would like to add custom functions to Eval, look at funcs.c. To compile on Unix: Use Makefile.unx To compile on a Mac: There is no Makefile, but I had no trouble compiling all modules with Think C 5.0. I threw all of the modules into my project window, added the "ANSI" library, put eval.c at the top, and selected "Build Application." To compile on Amiga: Use Makefile.asa (SAS C 6.X) or Makefile.ama (Manx C 5.X) To compile on IBM-PC: Use Makefile (Borland Turbo C 2.X) If you would like an Eval executable for an Amiga or a Macintosh, and you don't have a C compiler, check the file POSTS.DOC. Other files ----------- COPYING The GNU public license agreement posts.doc List of FTP sites where Eval is posted history.doc History of Eval versions Closing comments ---------------- That's it. I hope Eval is of use to you. Will Menninger MIT Graduate Student (until 1/94 at least :-) 45 River St., #2, Boston, MA 02108-1124 (until I graduate) 2162 Dudley St., Pasadena, CA 91104 (after I graduate until 7/94) (You can mail to Pasadena to be safe. I will get it.) e-mail: willus@ilm.pfc.mit.edu (until I graduate)