August 30, 1992 User's Guide to the FLEABYTE\SX\FFS\SF\BNS 1.0 SERIES of desktop calculators capable of storing away calculations as well as notes and of communicating directly to wordprocessors Fleabyte accessories are extended calculators. There are four models in the 1.0 series: sx (simplex), ffs (full-function scientific), sf (significant figures), and bns (basic natural science). Each of the ffs, sf, and bns models has (with the odd exception) the capabilities of the models listed to their left and they all outperform ordinary, handheld calculators. All four models can store calculations done for later recall and use. And all are capable of readily transferring information (full equations or just answers) directly to the cursor position on a wordprocessor or on a spreadsheet or on some other accessory such as EdHak. (A companion accessory, the "Wormhole," calcul- ates answers to problems showing on the word-processor itself. But that is dealt with separately.) Derivatives of these models with additional features are being developed and these include producing and organizing data for spreadsheets and then transferring these data in tabular form to a wordprocessor. The calculation shown here was done on a Fleabyte\sx 1.0 accessory: 123.45*67.89:(2.34-5.67)^2 and then placed below (on my monitor, that is) by transfer at the click of two buttons (Esc and left mouse-button): 123.45 x 67.89 : (-2.34 + 5.67)^2 = 755.8026945865 The automated spacing cuts down on the editing needed to produce a proper document. It does not matter whether you enter an ex- pression with spaces or without, whether you type 123.4 + 567.8 or 123.4+567.8. Here are some other examples of expressions typed on Fleabyte\sx: Volume of a circle with r = 12.3! 4/3*pi*12.3^3 Recovering the radius! (3/4*m1:pi)^(1/3) and their appearance after calculation and transfer: Volume of a circle with r = 12.3: 4/3 x ã = 7794.781462008 Recovering the radius: (3/4 x 7794.781462008 : ã)^(1/3) = 12.3 Observe the use of m1 which represents a direct call on the calculator's memory. The accessory is equipped with 24 paired memory slots for putting away equations - annotated equations if desired - and one may recall for use expressions (the part to the left of the equal sign) or answers only. Answers come up at the right end of the bottom line. The top line is reserved for expressions. These cannot extend beyond the doubly-lined vertical marker. A bell sounds the alert when an expression becomes too long. It is an invitation to, either shorten it, perhaps by deleting some of the spaces between characters or, else, by breaking up the expression in parts. When the bell rings the curser is found at the left end of the top line. Simultaneously pressing CONTROL and the arrow that points to the right will send the cursor to the right hand side. Pressing either the left or the right arrow without CONTROL moves the cursor stepwise. Once the expression fits the space, RETURN or ENTER will call for the answer. The sample calculation includes decimal points. If your prefer commas, feel free to use them. Fleabyte will respond in kind: 12,3 * 4,5 = 55,35. I have made transfers to 1st Word Plus, Word Writer, WordPerfect, Word Up, Write-On, and to the spreadsheet program LDW. However, there also exist applications that plug the wormhole at their end and thereby making it inoperative. Though direct transfer is a handy feature, it is not Fleabyte's principal stock in trade. It is hoped that the extended calcul- ating abilities will find a good use - especially educational use - on pocket computers, such as the Atari Portfolio. A preliminary version of Fleabyte\sx - v. 0.9 - has appeared on GEnie, Atari Interface Magazine's November 1991 "disk of the month," in the U.K. publication ST User of August 1992, and pos- sibly in other publications as well. That version, as well as 0.9 versions of the ffs, the sf, and the bns, were accompanied by various caveats about handling the accessory and mishaps to be feared. I believe that phase is now behind us and that the nota- tion, "version 1.0" - carefully avoided until now - is justified. I am not stating this lightly because users must feel confident they can fully trust their calculators. It is well to put the accessory on-screen AFTER the application is on-screen, and the let the accessory exit BEFORE the applica- tion. With WordPerfect do not make rapid cursor movements by keeping the finger on the right-arrow key and avoid right-to-left cursor movements. For some reason that may cause bombing. USER'S GUIDE Install the accessory and call it to the monitor screen in the usual manner by clicking on its name in the list of desk acces- sories. This will get you a two-line, ruler-shaped calculator at the bottom of the screen. It is immediately ready for use (it is in the "input status" of the "active mode") as you may gather from the input dash at the left end of the first line. Information is typed in as with a word processor. Type something like this: 123*456, or 123 * 456 if you prefer. (It does not matter how many spaces you put between the mathematical symbols and the numbers.) Then press RETURN or ENTER and the answer appears at the right of the second line: 56088. This press also 1. transfers the expression and its solution to a two- dimensional memory array. 2. moves the answer to the memory-1 (m1) position for display on the user interface panel after first 3. moving the previous answer from m1 to m2. A second pressing of the RETURN key clears the top ruler of the accessory for a next calculation (see the dash-type cursor). The input status of the active mode allows no action other than typing in a problem. Or you may press RETURN (or ENTER or ESC) to render Fleabyte dormant as you may tell by the zees on the top line. Once dormant you have the usual choice of activities that should be second nature of anyone who has worked with the ST for some time: You may remove the ruler from the screen by double clicking on the "exit" box or you may drag the ruler up and down by mousing the move-bar. Or you may activate another window by clicking on it. Clicking on Fleabyte makes it again the top window. Clicking on the so-called "full" box (top right) puts this accessory back in the active mode as you can tell by the dash to the left of the top line, but if the application window and the Fleabyte window slightly overlap, which occurs automatically with the word- processors mentioned, making Fleabyte the top window is enough to render it active as well. Memo array Fleabyte saves calculations. It has a two-dimensional array that can hold up to 24 expressions and their solutions. You will find the answer to the most recent calculation at m1. The answer to a previous calculation, if any, shows as m2. Thus it is possible to work with these answers immediately, for example, m1^3 gives 1.764452056735E+14. You will not lose stored information when making Fleabyte dormant. Information will be lost only when you power down the computer. Why not do a few calculations so as to get a store of expressions and answers? Then we can have a look at recalling them. To recall information, put Fleabyte in the input status and type the question mark, ? Pressing RETURN or ENTER will then call up a calculation from the middle of the stored work. You will also see a notice like this: [memo #8 of 15] You are now able to browse through the stored work either forward or backward by using the > or < keys that follow the letter m on the main section of your keyboard. Notice that the mouse is not available during browsing, i.e. Fleabyte, although not in the input status, is still in the active mode of its working cycle. You may end your browsing by pressing the RETURN or ENTER key or by continued pressing of either the < or the > key. That will turn Fleabyte back to the input status of its active mode. And another press on RETURN will render it passive and permit the usual activities with the mouse and work with other programs. Press m or a (or M or A) if upon browsing you find an answer you want to use. You will then find Fleabyte again in the input mode, and with the recalled answer in the m1 slot. You may then use this answer by typing m1 somewhere in your calculation as I showed you earlier. Or maybe you wish to reuse an old expression. Once found by browsing (? followed by < or >) it is placed on the input line by pressing c or e (or C or E). You may then alter any of the num- bers used in the previous calculation in the same way as you edit text on a wordprocessor. Instructions Instead of a calculation you may type in an instruction that tells "Fleabyte" how to act. For example, if you type in "@" followed by RETURN (or ENTER) you will get an information panel with brief reminders, a highly condensed "help" file. The panel on Fleabyte\sx, v.1.0 is like this: = wormhole toggle (equation, answer) annotation ! ? memory array (<,> for browsing; a,A,m,M for answer; e,E,c,C for equation) @, =, and ? are instructions. You are reminded of the first one of these symbols, @, when Fleabyte makes its first appearance on- screen after booting up: [info at @] (You may have noticed that when a new Fleabyte is activated, the cursor first comes on as a fairly heavy dash which then changes to a thinner one. The heavy dash is there for single-character instructions to which the accessory can react instantly - faster, that is, than in any of the preliminary models you may have en- countered. If the first character you type in is not one of the instruction set, it becomes the first character of a calculation, or of some message.) Wormhole If you have a wordprocessor on screen - some application that Fleabyte can work with such as any of the ones listed above - you may transfer either a complete equation or just the answer to the cursor position. To this end notice that [wh:e] which can be seen during the input status. It is the face of a toggle that lets you choose between transferring complete calcul- ations or answers only. The abbreviation wh stands for wormhole (the computer's input/output record buffer, really, or "iorec" in the parlance of the VDI). The letter e may be toggled to an a (e for the complete equation, a for the answer only). To toggle type the equal sign (=) on the input dash. The transfer of a result to an application program is done by pressing the ESC key and then activating the wordprocessor window by clicking on it with the mouse. Here is the whole sequence: 1. Have the cursor on the wordprocessor at the position where the equation is to appear. 2. Click on Fleabyte. 3. Type an expression, say: 4/3*pi*12.34^3. 4. Press RETURN for the answer: 7871.075684676. (Notice that "pi" changes to the Greek character.) 5. Press ESC to open the conduit to the wordprocessor. You will see in the middle of the bottom line: [wormhole '63']. The '63' means that the wormhole can pass 63 characters at a time. 6. Move the curser to the application that is to receive the message and press the left mouse button. There you go! Notice that the equation is edited on the way out: 4/3 x ã x 12.34^3 = 7871.075684676 This leaves only a little editing still to be done with the wordprocessor, i.e. changing the exponentiation, ^3, to a proper superscript. If you transfer a complete equation (toggle "e"), the cursor will automatically move down a line. This will not happen when you transfer only a solution because answers usually become part of lines of text created with the wordprocessor. All in all, this manipulation of the cursor seems to accord with the greatest economy of motion. For me, anyway. As said, the buffer normally allows for a transfer of 63 charac- ters at a time. This number includes the spaces put in by Flea- byte. Longer lines need to be transferred in steps. It is best to habitually have the Fleabyte and wordprocessor windows touch- ing or slightly overlapping one another. Then you may activate Fleabyte simply by clicking anywhere on its window instead of specifically on the "full" box. (Things work out that way anyway without any effort on your part because Fleabyte is just a little wider than the space below the wp windows.) After the first 63 characters have been transferred, activate again the Fleabyte window and the the wordprocessor window. That ought to fetch the rest. The following line is as long as you can get them and it still took only three steps to push it through TOS's dark cor- ridors: 1+2+3+4+5+6+7+8+9+1+2+3+4+5+6+7+8+9+1+2+3+4+5+6+7+8+9+1+2+3+4+5+6 +7+8+9= 180 This was the result: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 180 - all of which just goes to show that one doesn't need to do this dancing back and forth very often. If you often run into two-step transfers you might make them smoother still with a 1-K accessory by Annius Groenink. It is called "AutoRaise" and it automatically makes the window under the mouse the top window, i.e. without clicking. Thus a long line is transferred by waving the mouse back and forth from Fleabyte to application. Sixty-three characters is the default capacity of the operating system's I/O record buffer. This capacity can be changed and, indeed, I have made Fleabytes with 102-character buffers. There is one problem, though. A programmer who changes the I/O buffer's capacity must reset it before allowing his program to exit. Fleabyte, however, goes dormant when the message goes into the buffer. The first opportunity for a buffer reset comes only when Fleabyte is reactivated. For that reason I deem it prudent to reserve the optional use of a longer buffer for accessories where this really becomes an asset. If you have any of the program listings, notice that I let the very first transmission after boot-up begin with eight place- holders (look for ">>>>>>>>" in the procedure called Wormhole). These characters are somehow papered over during the first trans- fer by, I presume, a handshaking protocol. Instead of, or in addition to an on-screen application program one might have on-screen another accessory, e.g. Diary or EdHak. If that is activated instead then that is where Fleabyte's message will go. In this particular instance, though, I found that each time the first character entering the wormhole does not show up. I guess that one (two-byte) position of the iorec function was taken over by activating the Diary. The solution is simple: leave the first character blank on Fleabyte so you won't miss it on Diary. Annotations and Notes As shown at the outset, calculations may be preceeded by a note. This is especially handy with calculations that may be recalled from storage. Fleabyte detects an annotation by its ending with an exclamation point, ! The annotation feature may also be used for storing a short note without any calculation after the exclamation mark. The RETURN key will send this note straight off into the memo array. The answer part of the array will remain empty. Thus Fleabyte may serve as a simple, unobtrusive notepad as well. Scope The instrument reacts to these mathematical symbols: +, -, *, /, :, ^, `, E or e, %, (, ), [, ], {, } as well as to PI or pi, to M1 or m1, and to M2 or m2. ("Simplex" also reacts to AT, at or @, and it may react to OF or of, but the other models don't.) E or e represents exponential notation. Thus 123456789 may be entered as 123456789 or as 1.23456789*10^8 or as 1.23456789E8 or as 1.23456789E+8 and variations thereof. There is a distinction in the way Fleabyte reacts to the signs / and :. This shows up after transfer of information to a wordprocessor. The expres- sion 2/3 or 2 / 3 transfers as 2/3 (no spaces) whereas the ex- pression 2:3 or 2 : 3 transfers as 2 : 3 (with spaces). This serves to aid the distinguishing between fractions and divisions. (Historically, this distinction seems to be disappearing if it hasn't already gone. I view this as unfortunate, especially in education where the use of : should help make proportionality stand out clearly.. I believe the lack of mental facility with proportions is a major obstacle in the study of chemistry and, I should presume, of physics as well.) The symbol % functions as *0.01 unless it is followed by OF (or of) in which instance Fleabyte perceives *0.01*. AT, at, or @ becomes the multiplication symbol, *. Examples: 2.5% of 200 = 5 300 @ 3% = 9 Simplex versions 1 and 2 also react to the financial $ sign: 5.75% of $1234.56 = $70.99 Attention has been paid to roots of negative numbers. Fleabyte will not cop out as typical calculators do by refusing to work with powers and roots of negative numbers. Although fractional roots of negative numbers cannot be counted on to exist, there are those that do: the odd roots and their integer powers. Thus one may take the cube root of -125 by typing in -125^(1/3). As to the integer powers of odd roots of negative numbers, for example, -100^(2/3), Fleabyte does not (yet) accept this. How- ever, this expression corresponds to [-100^(1/3)]^2 and Fleabyte\ sx 1.0 can handle this second form of the calculation: [-100^(1/3)]^2 = 21.54434690029. Want to verify? (21.54434690029^.5)^3 = 99.99999999982 This last result ought to remind us that calculators do have rounding-off errors. (I have elected not yet to do anything about this until after some future developments have run their course,) You may not recognize the symbol ` as having anything to do with mathematics. But like subtraction is the opposite of addition and division the opposite of multiplication so is the taking of a logarithm the opposite of an exponentiation. The symbol ` sig- nifies that finding a logarithm is an operation in the arithmetic rather than a function of some preferred number such as 10 or the base of the natural log system. Thus 1000`10 = 3 (proposed pro- nunciation, "thousand from ten takes three") corresponds to lg1000 = 3. But with the arithmetic operator one is no longer restricted to logs as a function of a particular number such as 10. For example 1000`2 = 9.965784284662. Traditionalists will be pleased that one may enter expressions such as lg(1000) or log(1000) as well. Raising logarithms to a power may be done in various ways. With the functional notation there is a choice: lg(1000)^2 = or [lg(1000)]^2 Using the arithmetical operation, the same is achieved by 1000`10^2 Taking logarithms and exponentiation are at the same level in the hierarchy of operational priorities. Thus 1000`10^2 = 9; 1000^2`10 = 6. No soul-searching here. Absolute values may be entered traditionally, by using the vertical bars, e.g. |3-7| = 4, or by using "abs," e.g. abs(3-7) = 4. Square roots may be entered two different ways: sqr(625) or 625^0.5 (or 625^.5). The sqr "function" is only found on the simplex models. Leaving and Reentering Fleabyte (A Review) After a calculation is entered and the RETURN key is pressed for the answer, one may proceed in various ways: 1. One can press RETURN or ENTER again for a subsequent calculation or press either one once more (or press ESC) to deactivate and leave Fleabyte. Thus it is not neces- sary to proceed with a calculation even if the cursor is waiting for one to be entered. 2. As mentioned the press on ESC transfers the calculation into the wormhole for potential discharge at a cursor position as soon as a GEM "event" such as a mouse click occurs. 3. That pressing of ESC or the pressing of any other key but the RETURN and ENTER keys will break the calculating cycle and the accessory can be closed (click on "close" box, top left) or moved (drag by its "move" bar) or simply deactivated by clicking on another program's window. The calculator can be reentered either by clicking on the "full" box to the right of the "move" bar or, if there is a slight overlap of windows, by clicking on the Fleabyte window. Clicking on the "full" box also empties the wormhole so as to avoid Fleabyte feeding into itself. Error Handling Fleabyte's program contains several layers of error-handling. 1. Error filter and preparser 2. Commentaries from the calculator routine 3. GFA BASIC's error handling replete with added Good_luck$ charm. (This last item used to be a vital component!) 4. A routine to compensate for a GFA BASIC oversight in error handling of calculations involving large powers. The error filter will alert you when the number of closing brackets does not equal the number of opening brackets. However, no detailed look is (yet) taken at the type of brackets involved. If you get the message "check brackets," correct the problem without reentering the whole calculation. The accessory is equally courteous when it encounters some other misdemeanors such as an unintelligible sequences of signs (^^ or /* or -* or other such occurrences). Some errors are so obvious there is little point in making special error checking provisions for them. E.g. if one enters 12a*3, the answer will be 12. Fleabyte stops at the "a." There seems no reason to deal further with this sort of thing. But if, while acquiring experience with Fleabyte, you find it to have undesirable habits, please drop me a line. Look under @ for my address. The preparser routine eliminates some errors automatically, such as certain sign sequences. For example +- becomes -, -- becomes +. Commentaries from the calculator routine includes gems like "division by 0" or "exponent unacceptable." The limits of GFA BASIC, the programminmg language used for making the ST version of Fleabyte, are respected by not allowing the use of numbers greater than appr. 3.5E+308 or exponents smaller than appr. -308. The message "max 3.595386269725E+308" will remind you of such a tresspass. (Any values between 2.2E-308 and 0 are converted to 0.) At the fourth and fifth levels of protection, a general error message appears that indicates your offense if you insist on typing things that would make Fleabyte (or, rather, Atari's TOS) outright sick, such as 123456789^999. Here I make use of GFA BASIC's error handling system. At one point in Fleabyte's short history such offenses were so bad that they required a special good_luck$ charm (found in the routine named message). Removing this variable produced bombing. I have not removed it since; what harm is done by science and technology respecting time- honored, precautionary sensitivities? SUPPLEMENTAL NOTES ON FLEABYTE\FFS\SF\NBS Fleabyte\ffs These lines have been put here (on my monitor, that is) directly from Fleabyte\ffs: -lg(4.5 x 10^-5) = 4.346787486225 -(4.5e-5`10) = 4.346787486225 10^(1/ln(10)) = 2.718281828459 sin(0.1234)^2 + cos(0.1234)^2 = 1 arcsin(0.2345) = 0.2367041943133 arcsin(0.2345) = 13.5621513272ø arcsin(0.2345) = 13ø33'44" The full-function model, FBFF_10, features these functions: abs, sin, cos, tan, arcsin, arccos, arctan, lg, and ln They are "case independent," i.e. they may be entered either in lower or upper case, but the corresponding arguments must be bracketed - see the examples above. You may also type in asin, acos, atan or atn, and log; these expressions will be changed to arcsin, etc. automatically before transfer to a wordprocessor. The calculator has not been programmed to receive expression such as sin^2(.1234). Instead one enters: [sin(.1234)]^2 or sin(.1234)^2. The latter mode, though simpler, may be considered as going against current convention for it might be confused with sin(.1234^2). I shall wait for user comments and suggestions before considering this point further. Whereas with the preliminary versions of the ffs one used to type in an "r" or a "d" to choose between radians and degrees, I have replaced this now with a three-way toggle. Use ^ (a mnemonic for angle) for toggling. The default position is radians, see [rad] bottom right. Toggle once for degrees in decimal format, [dg.], and toggle once more for degrees, minutes, and seconds, [dgø]. If the entry makes the choice obvious it will do the toggling for you. For example, sin(25d) will toggle to dg., sin(25d0') will toggle to dgø. (Because the keyboard lacks the degree-sign, use "d" instead. This will be automatically changed to a proper degree sign. But as to minutes and seconds, use the conventional signs, ' and ".) Fleabyte\sf What is special about this accessory? It differs from the one before by its ability to track measuring uncertainties throughout each calculation. Here is an illustration of what I mean. With the aid of a ruler I find the width of a sheet of paper to be 21.6 cm. When you read about this observation you do not know whether the sheet is actually somewhat wider or a little bit narrower than the value I just reported. All you can infer from the given number is that (on your kind assumption that I know how to measure) the sheet's width is between 21.55 cm and 21.65 cm. Similarly, when I give the length of the sheet as 27.9 cm, you only know that it is between 27.85 cm and 27.95 cm. These uncertainties ought to be accounted for in a calculation of the area of the sheet. Thus one finds the area to be between 21.55 cm x 27.85 cm = 600.1675 sq.cm and 21.65 cm x 27.95 cm = 605.1175 sq.cm. Ordinarily one would calculate 21.6 cm x 27.9 cm = 603 sq.cm. where the answer is given to three "significant digits" or "significant figures": a six, a zero, and a three, in this instance. Calculations with measures employ certain "rules for significant figures" - commonly one rule for multiplication and division, and another one for addition and subtraction: 1. Express the result of a multiplication or division with as many digits as are found in that measure used in the calculation with the least number of digits other than zeros up front. Example: density = mass/volume = 0.1234 g/0.100 L = 1.23 g/L. ("0.1234 g" contains four so-called :significant digits", "0.100 L" contains three significant digits. The answer, therefore, is given to three significant digits. Example: density = mass/volume = 1.2345 g/0.789 mL = 1.56 g/mL. 2. Express the result of an addition or a subtraction with as many decimal places as are found in the measure used in the calculation with the least number of decimal places. Example: 1.234 cm + 2.34 cm = 3.57 cm. Example: 23.4567 g - 23.345 g = 0.112 g. (rounded!) The last digit's validity is usually only certain within half a unit of the true value. Although we may program rules such as these into a calculator, I decided to give the matter of significant digits a wider scope as is readily afforded by the high operating speed of modern computers. Fleabyte replaces the rules for assessing the allow- able number of "sig. figs" by calculations of upper and lower limits - the "bounding values" - and then reporting answers ac- cordingly. But there is a slight deviation from the traditional application of the method of bounding values as will be clear. I justify this departure on grounds of two points of convenience. The above calculation of the area is entered thus: 21.6~ * 27.9~ where the tilde (~) indicates an uncertainty of one unit in the last digit. Thus "21.6~" means "between 21.55 and 21.65." A last-digit uncertainty other than unity needs to be specified, e.g. 12.34~3 for 12.34 plm 0.015. An uncertainty of one unit in the last decimal is quite common and I made it, therefore, the default uncertainty. It is the most common and it cuts down the typing. The traditional notation usually uses a plus-or-minus sign, which is not found on the computer keyboard. I might simulate this notation with "21.6 plm 0.05," but this is inconvenient. Using the idea of uncertainty in the last digit is, however, done in science so there should be no fear of being outlandish. Going back to our calculation, the calculated surface area is: 21.6~*27.9~ = 603~5 Why not try the ruler right now by typing in the calculation "21.6~*27.9~" and pressing RETURN? Recapitulating, 21.6~ or 21.6~1 represents an uncertainty of "1" in the last reported digit. i.o.w. it means between 21.55 and 21.65. 21.6~ is the default notation for 21.6~1. The answer, 603~6, tells us that there is an uncertainty of "6" in the last digit, i.o.w. that the answer is between 600 and 606. This is not exactly the same as our original calculation which said the answer is between 600.1675 and 605.1175, but for all practical purposes I take this to be good enough - and, of course a big improvement over the result obtained by the "rules for signif- icant figures" which was 603. An example of a calculation with large measures is: 123000~1000/4.56~3 = 27000~500, which tells us that the answer is between 26750 and 27250. What is the meaning of all this? How does this accessory get its answers? Central is the ordinary calculation 21.6 x 27.9 = 602.64 But from the notations 21.6~ (or 21.6~1) and 27.9~ (or 27.9~1) it also calculates the values 600.1675 and 605.1175. Subsequently it finds the differences between these values and 602.64, i.e. |605.1175 - 602.64| = 2.4775 and |600.1675 - 602.64| = 2.4725 The upper and lower bounds are carried through the whole set of calculations. Then, just prior to reporting the result, the data are rounded. The central value, 602.64, is rounded to 603; and the range from upper to lower bound is obtained by addition, 2.4775 + 2.4725 = 4.95, which is then rounded after first adding 1 to allow (largely) for the rounding-off errors in the central value and in the range of uncertainty within the last digit of the central value. Thus we obtain for the uncertainty in the last digit 6. Hence Fleabyte reports: 603~6. It may well be argued that it would have been better, for example, to proceed by using 602.6 as the central value and use a rounded sum of the bracketing values, say 2.4775 + 2.4725 = 4.95 rounded to 5.0 and then report 602.4~5.0. But considering the original measurement's precision and the loss of terseness in the reported answer, it seems to me that the procedure used here is preferable. Certainly, it ought to be adequate. Others may prefer to take as central value the middle value of the upper and lower bounds. I didn't proceed this way for fear of inadvertent- ly taken the midpoint between relatively skewed values such as found in divisions and in trigonometric functions. So I shall leave things as they are until the program has been used for a variety of applications. I certainly intend to mend my ways if any good arguments are made in favor of a more satisfactory ap- proach. In the meantime there is another approach that may well satisfy critics. It comes up shortly. In the case of skewing, to safeguard against Fleabyte putting one over on the user, a report will be automatically made in those cases where either |upper bound - central value| ò 1.1 x /|central value - lower bound| or |central value - lower bound| ò 1.1 x /|upper bound - central value| in short, when the upper and lower ranges of uncertainty differ by more than 10%. Here is an example of automatic reporting of upper and lower limits when unduly divergent: cos(.698~6) = 0.766~4 [0.7661290921161 plm0.001924609675925\0.001238339225051] The sequence is "-lower\+upper." As an added feature, Fleabyte permits the user to call for a permanent full reporting on upper and lower bounds by toggling the "~"-key from [sf:~] to [sf:plm]: 3.21~*7.89~3 = 25.3~3 [25.3269 plm0.08767499999988\0.08752499999991] arcsin(.3456~3) = 20.22~3ø [20.21842629259 plm0.009158978575384\0.009158439387602] arcsin(0.3456~3) = 20ø13~1' [20.21842629259 plm0.009158978575384\0.009158439387602] Because one may run, from time to time, into measures involving logarithms (as are found in "pH problems" in chemistry), the program has been extended to include the handling of uncertain- ties in arguments of functions. Fleabyte\bns Model bns can calculate molar masses (molecular weights) from resident atomic masses. It also contains a list of physical constants. The atomic weights and their uncertainties are the 1987 Standard Atomic Weights proposed by the IUPAC Commission on Atomic Weights and Isotopic Abundances. The fundamental physical constants are 1986 N.B.S. recommended values. Here are some examples: = 18.998403~3 0.250~*<(COOH)2.2H2O> = 31.5~2 *100/<(NH4)2SO4.FeSO4.6H2O> = 14.241~4 Magnus's green salt! <[Pt(NH3)4][PtCl4]> = 600.1~2 #N = 6.0225~4 E+23 Volume! 0.500~*#R*(273.15+22.4~2)/(758~/760) = 12.16~6 18.998403~3 = 18.9984 Formulas must be enclosed in angular brackets and symbols for constants must be preceded by a #-mark. The molar masses will now be transferred as numbers and so will be the physical constants. Formulas and the symbols for constants will be replaced by numerical values on the way to an application. Thus .250~*<(COOH)2.2H2O> = 31.5~2 becomes 0.250~ x 126.066~9 = 31.5~2 Enclosed herewith is a file named CNSTANTS.ASC. It may serve to help the user to recall any of the abbreviations used. It is suggested the file be called by an accessory like Ed Hak so as to be available at the click of a mouse button. COPYRIGHT Though I reserve all commercial rights, code is available, in line with "Fleabyte philosophy," for criticism and for modifica- tion by individuals for private use or use by publicly funded educational institutions. I charge $25 for a disk with five version-1.0 calculators, guides, and code. These are FBSX_10, FBFF_10, FBSF_10, FBNS_10, and WHSX_10D accessories, their GFA listings, and guides. To help support the project there will be a charge of $45 for a next generation of calculators. This will include four version- 2.0F Fleabyte calculators along with a WHSX_20S. A freeware model fitted with "focus 1-2-3," FBSX_20F, permits the making of multicolumn spreadsheets with calculated data and two-column spreadsheets with empirical data. FBFF_20F, FBSF_20F, and FBNS_ 20F will permit also multicolumn spreadsheets with empirical data and the augmenting of spreadsheets stored on disk. The "Worm- hole" model WHSX_20S efficiently generates a variety of common statistical descriptions of data showing on the screen-face of a wordprocessor. That low price precludes special return and refund arrangements other than in exceptional instances. Henry K. van Eyken 11 Falcon Lakefield, Que. J0V 1K0, Canada FLEABYTE\SF & BNS 1.1 The procedure named "plusminus" has been replaced to ensure correct handling of numbers with uncertainty that are expressed in exponential notation. September 17, 1992 FLEABYTE\SF & BNS 1.2 A bug corrollary to that of v. 1.1 had to be fixed. It was the insertion of the line @replace(" ","",make$) in the procedure named "parser" (line 517). September 21, 1992