1 unstable release
| 0.1.0 | Oct 14, 2022 |
|---|
#2277 in Math
22KB
430 lines
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:
cargo install qalqulator
Using pre-built binaries
Pre-built binaries are available on the releases page.
Example usage
$ qalqulator
>>> 6 * 7
42
>>> (12/11)^(4/2)
144/121
>>> let x = 141 % 100
41
>>> x + 0.5
83/2
>>> to_float(x) + 1/2
41.5
>>> x^(1/2)
6.4031242374328485
>>> 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
letkeyword. For example,let x = 42will assign the value 42 to the variablex. - To convert a value to a floating point number manually, use the
to_floatfunction. For example,to_float(83/2)will return41.5. - To leave qalqulator, use
exitor 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.
Dependencies
~8–23MB
~291K SLoC