- Fixed several underflow bugs which caused intermittent crashes when double-tapping, triple-tapping, or deleting characters in the main expression field with the delete button.
- Added a factorial function to the MathPlugin.
Version 1.58
- Fixes a parsing bug involving parenthesis and exponents.
- Parenthesis parsing no longer requires closing parentheses; any unmatched
open parentheses will be automatically closed out at the end of the expression.
Version 1.57
- Fixes a bug which affected number formatting in the following case: the 'sci'
method is NOT selected, but the size of the number forced it to report as scientific.
- Improvements in memory handling improves performance on PalmPilot Personal
Edition organizers.
Version 1.56
- Fixed a bug in which a crash would occur if the cursor was in a non-empty
text memory location at the time of execting the 'Clear Everything' command.
- Fixed a parsing bug affecting parentheses parsing. Everyone should upgrade!
Version 1.55
- Version certified by Quality Partners, Inc. for Palm OS, Platinum Level.
- Fixed a number of bugs relating to low memory conditions.
- Fixed a bug which would cause SynCalc to crash upon choosing a shortcut.
- Improved memory handling.
Second Release version:
- v1.54, 5/25/98. Final Candidate for submission to Platinum Certification by Quality Partners, Inc.
- Many bugs relating to low memory conditions in the data heap have been fixed.
- Fixed some localization bugs involving drag and drop of the answer.
- Added scroll bars to Add and Edit shortcut views.
- Added the ability to save the current view and return to it across launches.
First Release version:
- v1.53, 5/4/1998
- Fixed localization problems caused by PalmOS bug... Added support for
localized number formats which changes SynCalc's buttons to localized
separators.
- Changed Parser Error Dialog to only show error # if it is an UNKNOWN
error.
- Decreased stack usage of Parser Error Dialog which could cause a crash
under the following condition: in an input query dialog with a parser
error dialog displayed while an alarm goes off.
New Features in 1.5b15:
- The operators in the "2nd" button panel now correctly add "Ans" as the
main operators do.
Bug Fixes in 1.5b15:
- Fixed a few UI bugs and very rare error conditions which can cause
crashes.
New Features in 1.5b14:
- Added a new button in the "2nd" panel for x^-1
- Re-wrote the part of the parser which turns numbers into floating
point type to avoid using the Palm OS call FlpAToF() which supports only
8 digits of precision and exponents of +/-99. SynCalc now uses 14 digits
of precision with an exponent of +/-308.
Bug Fixes in 1.5b14:
- Fixed a rare error (not so rare on Palm III) that would cause certain
text strings to not behave properly. One symptom of this was the failure
of plugin functions to work on Palm III.
- Rearranged the method for doing the Input Query which was causing
crashes on PalmPilotPersonal editions. Should be more stable and
reliable than ever.
New Features in 1.5b13:
- Changed the Rotate Buttons motif into the 2nd button motif. I think
it's a little more intuitive, and frankly I needed the room for the next
new feature:
- Added operators for logic comparisons , bitwise operations, and
equality/inequality comparisons. These are useful for conditional
results, which can now be implemented with the if() and iftext()
functions of the LogicPlugin.
Bug Fixes in 1.5b13:
- Multiple arguments for plugins would evaluate right-to-left in b12.
This has been fixed.
New Features in 1.5b12:
- Greatly improved memory management and re-written evaluation code now
allows for an UNLIMITED number of nested function calls. Unlimited
nested parentheses were previously allowed. This enhancement also allows
SynCalc to be fully functional on a PalmPilot Personal. Previously,
SynCalc would run out of memory and sometimes crash on a PalmPilot
Personal.
Bug Fixes in 1.5b12:
- Fixed a parsing bug in which the store operator, if used multiple
times in succession, would not cause an error.
Ex: 1@@@c should be an error, but SynCalc would evaluate it
anyway.
- Improved the accuracy of the highlighting/cursor position when a
syntax error occuered.
- Fixed a UI bug in the drag-n-drop which allow text dragged from the
input field to be dropped within the selection (at the location of the
next to last character of the selection).
- Added checks for low memory conditions which could sometimes cause a
crash.
New Features in 1.5b11:
- Revised the import functionality to use standard .pdb files for
improved ease-of-use. Simply installing shortcut DB's onto your PalmOS
device and choosing "Import Shortcuts" from the menu will automatically
install them in SynCalc.
- Added the ability to export shortcuts from within SynCalc. The "Export
Shortcuts" menu choice will allow you to choose a name for the export
database and select up to 50 shortcuts for export. The export DB's will
automatically be copied to the desktop during the next HotSync.
- Added a few new functions to the MathPlugin:
round()
ceil()
floor()
Descriptions can be found in the Function Browser
- Added a feature to Macros: you can force the expression field to Clear
before starting a macro by making the first character of the
macro/shortcut a capital 'C'.
- Various speed improvements in the Plugin Manager which have improved
launch time of SynCalc.
Bug Fixes in 1.5b11:
- Complete testing has been done. SynCalc is now free of memory leaks,
corruption, etc., which could occur in some circumstances in earlier
versions.
- Fixed a bug in which out() with no arguments would cause a crash.
- Fixed all UI bugs in the DragAndDrop routines.
New Features in 1.5b10:
- Added the ability to import shortcuts. SynCalc will import shortcuts
which have been copied to the clipboard from an application such as
MemoPad. They should follow this format: <nevermind>
- Added a text console. Use the out() function to add text to the
console.
out(text, argument 1, argument 2, ... )
It takes in a minimum of _1_ argument, the string to output.
out(Hello world)
Adds the text "Hello world" to the console.
The rest of the arguments, above labelled argument 1, argument 2,
etc.... are for outputting NUMERICAL VALUES. SynCalc will evaluate each
argument and output the answer.
Since the out() function doesn't know automatically where to write out
the number, we use the marker '%n' to signify where the number should go
in the string.
- Let's assume a = 3.5
out(The value of a is: %n, a)
would write "The value of a is: 3.5" in the console.
You can have as many arguments as you like. They are output in order
from left to right:
-Let's assume b = 10
out(A is: %n and B is: %n, a, b)
would write "A is: 3.5 and B is: 10" in the console.
There are a couple of more features:
1) You can format the output of numbers as any of the Four display types
that SynCalc supports:
n = normal
s = scientific
f = fixed
h = hexadecimal.
2) To make for pretty formatting, I've enabled \t for tab and \n for
carriage return.
The end-all be-all of examples:
Assume a=8.123
out(A in normal:\t%n\nA in fix:\t%f\nA in sci:\t%s\nA in hex:\t%h\n, a,
a, a, a)
Would add this to the console:
A in normal: 8.123
A in fix: 8.123000
A in sci: 8.1230000e00
A in hex: 00000008
Bug fixes in 1.5b10:
-Fixed a few major memory problems that could have been troublesome in
certain situations.
New Features in 1.5b8: - Drag and Drop has been
completely re-written. It's actually quite cool now, if I do say so
myself! Previously, to perform a drag, you needed to hold the pen down
within the bounds of the field very steady for a second or so so SynCalc
would know you wanted to drag something. Now, it works just like your
desktop computer! You must make a selection, then start the drag by
placing the pen within the highlighted area. Then you may drag the
selection wherever you like, to a button, to another spot in the same
field, etc. When the pen is over a field, whether dragging from a button
location or from the field itself, a small indicator shows where the
text will be dropped. I've written this with the intention of creating
a HACK out of it to enable text dragging throughout the OS. If you're
interested in this capability, please let me know! - The SynCalc Plugin
API will be published this week. Anyone interested in writing plugins?
Bug fixes in 1.5b8: - Fixed the width of the memory table in the memory
view to fit on screen. - Clear all menu choices in the memory view works
properly now.
New Features in 1.5b7 - Added support for the input() function, which
will prompt the user for input along specified places in the expression.
Great for common calculations! Example: Make a shortcut with the value
"input(Cost of Meal)*0.15=" When invoked, this will prompt you to enter
a value, then compute the rest of the expression and display the answer.
This input form can also handle EXPRESSION input, with the full suite of
error reporting. Try it, I promise you'll love it! - Added the ability
to display variable values in the view memory screen. - Improved memory
management dramatically.
New Features in 1.5b6: - Answers separated by commas are now localized
according to the System Prefs. - Added a SynCalc guided tour under the
SynCalc button. I'd recommend that everyone try it- it goes over all of
SynCalc's features. - As an addition to the below feature, SynCalc now
supports an '=' ANYWHERE in memory expressions, shortcuts, etc, as a way
to toggle evaluation. This adds some scriptability to SynCalc, albeit
limited. <snip> An important addition is the ability to append an '=' as
the last character of a shortcut (or memory location, for that matter)
to have the expression evaluate immediately. See the built-in shortcuts
for examples (if you don't delete the old SynCalc first, you won't have
the new default samples). </snip> - Added a menu to the calculation log.
Supports 'Copy All' to aid in exporting calculation history to another
application. - MAJOR CHANGE: The hard scroll buttons now scroll through
historical calculations. This allows all calculations in the log to
easily be browsed from the main interface. - I've changed the way that
plugin functions are called to be more memory efficient. As opposed to
the old limit of 1 recursion, the limit is now memory-based, and works
up to about 8 recursions, which I think will be plenty for nearly
everyone.
Bug Fixes in 1.5b6: - SynCalc now recognizes a know bug in the PalmOS
floating code and corrects for it. This bug occurred when the mantissa
of the number was 99999999, but would get rounded to 100000000, which is
a 9-digit mantissa. This would cause SynCalc (and does cause some other
PalmPilot calculators) to be off by a power of ten in this case. - Fixed
a bug which caused a fatal exception when dragging a blank memory
location to the expression field.
New Features in 1.5b5: - Added the ability to comma-separate numbers in
the answer display. Will localize in the next version. - Added help
strings for PluginSample functions. - Added support for radians/degrees.
- Removed hyperbolic functions from plugin to conserve space. They'll be
issued in a separate plugin. - Constants are now Shortcuts. They can be
used as constants, macros, or text expression storage, up to 30
characters each. An important addition is the ability to append a '=' as
the last character of a shortcut (or memory location, for that matter)
to have the expression evaluate immediately. See the built-in shortcuts
for examples (if you don't delete the old SynCalc first, you won't have
the new default samples).
Bug fixes for 1.5b5: - Fixed a parsing bug with the MINUS operator due
to a typo- sorry if it affected any of you adversely.
New Features for version 1.5b4: - Completely redesigned UI to optimize
space for plugin functions. - Added a comma button for separating
arguments for functions. - PluginSample.prc implements 20 trig and
math functions. - Support for the power operator '^' *NOTE: power
associates from left to right: 1^3^3 = 1 - Implemented PalmOS 2.0 scroll
bars for the expression field.
Bug fixes for version 1.5b4: - The GUI bug in the prefs screen is
ACTUALLY fixed this time. - Fixed a variety of errors with the Plugin
browser and printer tape code. Improper clean-up was occuring if one
switched apps while either of these forms were on screen, resulting in a
crash.
New Features for 1.5b3: - Addition of on-line help to the Plugin API. -
Addition of a printer tape window for logging historical transactions. -
Both of the new functions can be accessed via the menu or the 'SynCalc!'
button. - Other tweaks.
Bug Fixes for 1.5b2: - Fixed a memory leak in certain types of errors. A
symptom of this was for the screen to go mostly blank. - Fixed Pi to
have more significant digits. You must delete the old SynCalc DB and
re-install SynCalc to get the new Pi. - Fixed a problem which prevented
the use of more than 1 alpha in an equation, although it should be
allowed. ex-> Sqrt(2) + Sqrt(2) is legal, but beta 1 would throw an
error. - SynCalc now properly detects overflow, underflow, or div/0
problems. This fixed a bug in which a number such as "--177732973475056"
would be displayed as an answer. - Fixed all rounding errors. - Fixed a
UI glitch in the Prefs screen which left a few pixels when switching
from 7 digits fixed to a smaller number in some cases.
New Features in v1.5b1: -Support for a plugin architecture. This allows
addition of an unlimited number of functions for SynCalc. This
architecture supports multiple argument passing, as well as expression
evaluation within these arguments: Average(2,5,6,7+1*5). -SynCalc now
supports 26 user-defined variables. They are lowercase 'a'-'z'. To store
a number in a variable, use the store operator('@'): 155.123@a stores
155.123 in 'a'. You may also store expressions in variables, as well as
continue with an expression: 1+2@a+5@b will store 3 in 'a' and 8 in 'b'.
-SynCalc's parser has been updated to correct a few bugs. There are no
known bugs with the parser at this time. --> A check has been added for
loss of precision: PalmOS only supports 8 digits of precision at this
time. --> Error handling has been vastly improved: the location of the
error is now highlited in the expression field and the cursor is moved
to a relevant position.
-A function browser has been added, although the 'About' is not yet
implemented. -The UI has been generally improved: the answer has moved
to the bottom of the expression area. This allows more room for
displaying answers. -A HEX output mode has been added; it only supports