Marco: MathLib

In order to be very accurate, Marco uses MathLib for all of the complex math functions. MathLib provides IEEE-754 double precision math functions to Palm OS programs. MathLib is a shared library, which means that most calculators and other math-related programs will share its instructions instead of adding bulk to each program's size. This makes everything smaller in the long run.

If Marco was already installed on the handheld and if everything was working fine, MathLib does not need to be reinstalled. If you are installing Marco for the first time, MathLib might already be loaded on the device. I would suggest installing Marco only, and try to run it. If there is an error saying something like "Can't find MathLib", then just install MathLib. Once installed, MathLib will never need to be installed again, even if Marco or other programs are updated. Only if your memory is completely wiped out would it beed to be installed again.

If you need MathLib and another person who has it on their Palm is handy, you can use Marco to beam MathLib from one Palm to another. Tap on the menu button, then select Beam MathLib under the Marco menu.

You don't need to worry about damaging anything. If MathLib is not installed, Marco detects it and stops the program before any harm can be done. MathLib is available in a package with Marco from the download page. Additionally, you can download just the MathLib file from here (right-click and pick "Save As"), or you can get everything (including documentation and the source code) from this MathLib project on GitHub.

The reason that MathLib is used is for accuracy. Internally, Marco uses a 'double', which is a 32-bit floating point number. Palm OS doesn't have good math functions for doubles, so MathLib was created to fill the void. It is much more accurate than normal 'float' numbers. In my tests, it shows that doubles have an accuracy to 10 significant digits -- the first 10 numbers, not including the decimal point, starting from the left. These numbers are all displayed with 10 significant digits. Most people will not use all 10 digits, and Marco may not display all 10 digits (depending on how it is configured), but it is good to know that they are there.

  • 3.141592653
  • 32,167,398.92
  • 1024.123456

Additionally, Marco uses optimized math functions to minimize the amount of multiplications and divisions that are needed. With each multiplication or division, a tiny amount of precision is lost due to the way computers handle those arithmetic functions, and Marco strives to keep all numbers as accurate as possible.

The first penny had the motto, "Mind your own business." Tyler Akins <>
Legal Info