Qalqulator
A calculator that uses (and outputs) rational numbers wherever possible.
The only operation that causes the output to revert to a floating point is exponentiation with fractional exponents.
Installation
Using Cargo
-
Install Rust.
-
Run the following command in your terminal:
Using pre-built binaries
Pre-built binaries are available on the releases page.
Example usage
>>> 6
>>> () )
>>> let
>>> x
>>> to_float()
>>> x^()
>>> exit
Features
- Supports all basic arithmetic operations with operator precedence and parentheses:
- Addition:
+
- Subtraction (and negation):
-
- Multiplication:
*
- Division:
/
- Remainder (not modulus):
%
- Exponentiation:
^
- Addition:
- Numbers can be entered as integers (
42
), floating point numbers (42.0
), or fractions (42/1
) and will be automatically converted to rational numbers. - Values can be assigned to variable names using the
let
keyword. For example,let x = 42
will assign the value 42 to the variablex
. - To convert a value to a floating point number manually, use the
to_float
function. For example,to_float(83/2)
will return41.5
. - To leave qalqulator, use
exit
or Ctrl+D.
Additional features
This is a toy project that I built for my own needs over the course of a few hours. If you find it useful and would like to see additional features, please open an issue or a pull request.
Name
Qalqulator is a calculator over $\mathbb{Q}$, the set of all rational numbers.