calctool - README - November 1989. This is V2.4 of a simple desktop calculator. This version works under SunView, XView, X11, NeWS, MGR and for dumb tty terminals. It is almost visually identical to V2.1 which was released in August 1988, but internally most of the code has been reworked to include a level of graphics abstraction, to make porting this code to other window systems a trivial task. V2.4 includes display in scientific notation, color icons, a correct factorial function and fixes for a few minor bugs. It introduces the new versions for XView, X11, MGR and dumb terminals. New functions include hyperbolic and inverse hyperbolic trigonometrical functions, register exchange, constants and the input of numbers in exponential notation. You can also have a .calctoolrc file in your home directory, which can define upto ten new values for constants, and ten function definitions which are used in conjunction with the FUN key. **IMPORTANT NOTE** Several of the keyboard equivalents for various calctool functions have been changed to allow for the new functionality and to be more intuitive. See the online help or the manual pages for more details. This code has been tested on a range of different Sun machines under a variety of O/Ss. See the beginning of the Makefile for details of what you might have to tweak in order to get it working under different O/Ss or on other machines, and also how to compile and link for the different versions. Note that calctool creates a library before generating the appropriate calctool binary. By default, this is a normal 'ar' type library, but with SunOS v4.x it is possible to create a shared library. In order to do this, you should type 'make shared' before making the calctool of your choice. It will install this library in the directory defined by the Makefile macro definition LIBDIR, so you might need root permission to successfully do this. Portable maths routines. ------------------------ It is hoped that your system supplies all the mathematical functions required by calctool. If not then, it is possible to use the needed ones from the portable math library routines that comes with these sources. In mathlib.h, there is one definition for each routine used by calctool. These are commented out by default to signify that this system has that routine in it's maths library. If you are missing any, then uncomment the appropriate definitions. Todo. ----- There is a TODO file included, which lists the current known bugs, and a set of possible enhancements, some relatively trivial, others that are fairly major enhancements which would make interesting future projects. Acknowledgements. ----------------- Thanks to Ed Falk at Sun Microsystems (Mountain View) for most of the basic arithmetical algorithms used, to Andrew Nicholson for revising the previous version of the NeWS code, to Sriram Ramachandran for fixing up the XView code, to Hala Abdalla for the original implementation of the popup menu and function keyboard support, to Didier Poirot for the calctool Imakefiles, and to Sisira Jayasinghe for better error detecting addition, subtraction, multiplication and division routines for the maths library. Thanks go also to James Buster, David Weaver, Steve Damron, Mike Bender, Charles Tierney, Trevor Watson, Marla Berg, David Hough, Jeff Donsbach, Mel Melchner, Peter Allott, Skip Gilbrech, Tom Friedel, Keith McNeill Stephen Frede, Johan Vromans, David Karr, Steve Alexander, Gary Bartlett, Steve Nahm, Daniel Yang and Rick Stevenson for bug reports and/or bug fixes plus sugggested enhancements. Suggestions for furthur improvement would be most welcome, plus bugs, comments and flames. Rich Burridge, DOMAIN: richb@Aus.Sun.COM Sun Microsystems. ACSNET: richb@sunaus.sun.oz PHONE: +61 2 413 2666 UUCP: {uunet,mcvax,ukc}!munnari!sunaus.oz!richb