


The Art of Interface 
Article 18Scientific calculatorsCategory. Computing software development. Abstract. Scientific calculators overview — features and interface. Download references. References. Scientific calculators: LiL, LiX, LiLc, LiXc.
1. IntroductionWhat is scientific calculator? For me, it is a tool for estimation of engineering, mathematical, physical, mechanical ideas in digits. Modern science is complicated and “estimation” usually a formula, taking several lines on paper. It would be good to have a tool to enter that estimation, try it, modify and try again and again till the point it is clear if idea is good or not. Namely for that style of work, which suits the scientific quest the best were developed Librow calculators. 2. Work and styleSo, what we need to have proper tool for scientific work? First of all, tool should be easy to learn — of course, it is good to know C++ or Fortran, but efforts spent for learning programming and time spent for coding and compilation are incompatible with the goal of fast idea estimation. So, something simple, like typing formulas in familiar book notation or even copypaste would hit the point. And second, tool should be flexible enough allowing easy modification of the input, so that switch from sine to cosine or argument change could be done without retyping the whole expression. Thus, Librow scientific calculators are expression ones — that is, they are able to evaluate the whole expression. And they have text editor — indeed, namely that — real text editor, where one can do anything: type expressions and evaluate them, go to any formula, edit it and reevaluate, enter comments — that is treat input just like text, all input is always available for editing, reevaluation, copypaste and whatever one can do with text. And even more — one can evaluate or reevaluate all the input in one click, running all entered expressions as script — scientific calculators are programmable. Because the input is just text, you can save it to disk and open in any other text processing environment to read it and edit. And because it is unicode text you can name variables and write your remarks between formulas in any language. That is you are unlimited in how you are creating your input and how you are using it afterwards. Librow scientific calculators support different notations: western, where tangent is tan and eastern, where it is tg, as well notation, accepted in programming world, where arctangent is atan. As scientific calculators they, of course, support scientific number notation, where billion is 1e9 — socalled exponential number notation. 3. MemoryWe need memory for storing intermediate results. Librow scientific calculators allow allocating unlimited number of memory cells. And you can give your results human names like “sound speed”, “chamber volume”, “beam intensity” and so on. And you can save your results to disk and load them back into calculator memory. One way, how you can use this feature is creating pool of constants you are using frequently and loading them into memory before work. 4. InterfaceWhen it comes down to interface there is no single opinion what it should be like. Ones like simple and system look, others prefer to have flashy design and all windows open to see everything. We accept idea of uniformity but as well agree a decimal point of one pixel size in highresolution screen is not worthy straining your eyes. And thus, our scientific calculators have customizable graphical interface. If you prefer colors and all windows open you can have configuration like in the picture below: Fig. 1. Scientific calculator with “glamour” interface.If you used to classical look, you can change color to system and hide memory spy window like: Fig. 2. Scientific calculator with “classic” interface.If you tend to minimalistic design, your calculator can look like text processor: Fig. 3. Scientific calculator with “minimalistic” interface.If you are professional working from keyboard with ten fingers and like to have calculator keypad as reminder (keeping the keypad hidden and displaying it on occasion with Ctrl+K shortcut) you can find the following layout serves your requirements the best: Fig. 4. Scientific calculator with “professional” interface.All calculator windows are smart and remember their size and position, so, next time you run the calculator you will find them where you left them placed. For those, who prefer working from keyboard — you can show and hide windows with shortcuts. 5. PrintSometimes we want to have our job printed — either for review or for controlling the work flow. Librow scientific calculators can format the calculations and print them properly, so that the hard copies can be punched and filed. As well, you can control the text appearance on paper and can add the information what and when was printed to every page. Fig. 5. Print control of the scientific calculator.6. Learn in two clicksTo back up easytolearn approach we programmed context sensitive Help available just in two clicks for any calculator item. If you are interested in what some button or menu item is doing, click the question mark button in toolbar and then click the item of interest — you will be taken to the help page with corresponding topic. Fig. 6. Scientific calculator help.For keypad function buttons you will be taken to the page of function handbook, where you can learn function properties, recall identities and see function graph. Fig. 7. Scientific calculator handbook.7. ConclusionIn total, we have clear and flexible computation environment that gives access to everything the computer has for us: disk for storage, memory for constants and variables, graphical interface for comfort, printing for hard copies and central processor for computing. Remember, I was taught the “PC is a powerful calculator” and first time I sat in front of the computer I expected to type in
and get the result, and was greatly surprised it “did not understand”! Well, now think, the gap is closed. 8. VersionsWe addmit that choice is good thing and propose several versions of scientific calculators. Base version LiL supports power, exponential, logarithmic, all trigonometric and hyperbolic functions along with their inverses. You can download it for evaluation here:
LiLc has the same function set and supports complex algebra — all functions here are of the complex argument. Extra functionality for work with complex numbers like real and imaginary parts, argument and conjugate is also included. This version you can download for evaluation here:
Advanced versions go further — first, they have extended function set: they support selected special functions — gamma function and Bessel functions. Gamma function is known for its fast grow, which leads to overflow for quite modest values of the argument. So, in calculations often used logarithm of the function, which does not have this overflow issue. Gamma function programmed to be context sensitive — as soon as it finds itself inside natural logarithm direct computation of the logarithm of the function is utilized to get the result, so that computation of the gamma function itself is skipped. The same way behaves the factorial — in advanced calculator versions it is generalized to gamma function. LiX version for work in real domain you can download for evaluation here:
and LiXc version for complex realm you will find here:
All calculator programs are written in C++ and are fast, reliable and light. Here are their pages:


