Calcutta is a console based calculator with scripting capabilities. The main
purpose is to serve as a programmer's calculator, e.g. to convert
numbers between different number systems. Since it represents all
numbers by rational fractions internally, there are no errors
introduced by rounding. E.g. 3*(1/3)
is not nearly
1, but exactly
1. Furthermore, Calcutta's internal number representation is only
limited by the RAM available. There is no restriction due to the
typical 32bit or 64bit bounds of integers or doubles.
Features
Number representations by rational fractions: no precision loss by division/multiplication. Support for rational fractions with endless period.
Fast BigDecimal Taylor approximations are used for irrational functions as sin, exp etc. Much higher resolution that usual approaches using double.
Support for very large and very small numbers (only limited by the space available)
Support for large parts of C/Java operators: even binary operators (&,|,^) and comparison operators are supported. Short-circuit operators (&&/||) supported!!!
Advanced scripting support:
User defined functions
Conditionals (if/else)
Loops (for / foreach / while / do-while)
Script files: just write complex functions using a text editor, than load the script into Calcutta.
Hex/binary input: easy output conversions to hex/binary
Support for casting operators to simulate limited number ranges.
Support for lists (multidimensional lists that can hold any value)
Support for strings (some basic operations like concatenation,
replace, insert, substrings etc.)
Platform independent (runs
on every platform that supports Java
Runtime 1.5 or greater)
Download
Click link below to download and start Calcutta as a Java Webstart application.
If you don't have a Java runtime installed, you can find it here. Get
and install JRE (Java Runtime Environment) to run Java applications (as Calcutta) or JDK to develop Java applications.
Calcutta (click to install and start Calcutta via Webstart)
If you wish to have a "real" local installation, just download the JAR
archive here.
You can start it locally either by double clicking on it or manually using "java -jar calcutta.jar"
Note: Java Webstart will ask you for confirmation to give the
application full access. Please do so, else Calcutta won't work. This
is because Calcutta needs access to the file system to write its
preferences and to load scripts. It does not contain any dangerous,
hostile or otherwise malign code.
Calcutta will need at least Sun Java Runtime 1.4 installed. If not
installed yet, you will be prompted if you want to install it. Once
installed, you can also run Calcutta locally using the Java
Webstart Browser or by doubleclicking the desktop icon (if you
chose to create one).
To learn more about Java, click here.
To learn more about Java Webstart, see here.
Author
Name
Volker Oth
Born
1971
Country
Germany
Occupation
Embedded C software development (automobile)
Contact
You might contact me by mail if you have questions/bug reports/suggestions regarding Calcutta: VolkerOth (at) GMX.de
Source Code
As of version 0.86, Calcutta became an Open Source project. All source files are released under the Apache
License 2.0. In a nutshell that means you can use them and modify them
even for closed source or commercial projects, as long as you leave some copyright
info in and give appropriate credit. See the linked Apache License for details.
Each file of the source code should contain a header with the license information.
The whole source code, the icons and the HTML help are now stored in a Git repository hosted by Bitbucket.
I recommend to use SourceTree to handle the repository but there are several other tools and also Eclipse plugins.
Calcutta is provided "as is" without warranty of any kind. Use it at your own risk.
Calcutta is freeware in the sense of "free for all to use".
Download it, give it to your friends or whatever.
If you intend to put it as download on your site, please make a reference to official homepage.
Same is true for distribution on magazine CDs/DVDs.
If you plan to distribute Calcutta as part of a commercial tool (which includes Shareware tools), please contact me before via Email.
As of version 0.86, Calcutta is also "free software", as all parts of the source are released under licenses approved by the Free Software
Foundation. See chapter Source Code
for details.
The algorithm to convert a periodic number into a rational fraction is
inspired by the great German math site of Arndt Brünner.
Also some of the irrational Taylor approximation algorithms are based on his work.
Calcutta also uses a fast
factorial algorithm by Peter Luschny.
Documentation
There's a built-in HTML help describing all features. You can also read in online. Home