4 releases
0.2.2  Apr 18, 2024 

0.2.1  Mar 5, 2024 
0.2.0  Mar 2, 2024 
0.1.1  Mar 1, 2024 
0.1.0 

#215 in Build Utils
45 downloads per month
19KB
279 lines
Kalkulator
kalkulator
is a versatile tool for mathematical expression evaluation, offering both a commandline interface for direct usage and a library for integration into Rust projects.
Features
 Evaluate mathematical expressions with support for basic arithmatic operations, factorial, logical operations
 Convert expressions to postfix notation.
 Extendable for future operations and functionalities.
Further Extensions
 Support for Logarithmic and Trignometric Functions
 ☑ Exponentiation (x^y)
 Absolute Value, Rounding Functions
 Complex Numbers Support
 Computation history support
Installation
As a CommandLine Tool
Ensure you have Rust and Cargo installed on your system. If you don't have Rust installed, you can install it from the official site.
You can install kalkulator
directly from crates.io by running:
cargo install kalkulator
This command installs the kalkulator
binary, making it available for use in your terminal
As a library
Add kalkulator
as a dependency in your Cargo.toml
to use it in your Rust project.
[dependencies]
kalkulator = "0.1.1"
Usage
To convert an expression to postfix notation without evaluating:
kalkulator expr "2+3/4" p
To evaluate the result of an expression:
kalkulator expr "2+3/4"
Example
CommandLine Interface
Evaluate an expression with basic arithmetic operations:
Command:
kalkulator expr "3+4^2"
Output:
Result = 11
Evaluate an Expression involving factorial
Command:
kalkulator expr "5!/(2+3)"
Output:
Result = 24
To show all available operations:
kalkulator showops
Library Usage
Here is a basic example of using kalkulator
to evaluate an expression within a Rust project:
use kalkulator::Expression;
let mut expr = Expression::new("3+4*2");
expr.infix_to_postfix().unwrap(); // Converts to postfix notation
expr.compute_expression().unwrap(); // Evaluates the expression
assert_eq!(expr.get_result().unwrap(), 11); // The result is 11
Using the Expression struct to evaluate an expression with factorial and division:
use kalkulator::Expression;
let mut expr = Expression::new("4!/(2+3)");
expr.infix_to_postfix().unwrap(); // Converts to postfix notation
expr.compute_expression().unwrap(); // Evaluates the expression
assert_eq!(expr.get_result().unwrap(), 24); // The result is 24 (120 / 5)
For more detailed usage, check documentation: Docs
Contributing
Contributions are welcome!, Whether it's adding new features, improving existing ones, or reporting bugs, your input is valuable. Check out the project's repository on GitHub
Dependencies
~1.2–1.7MB
~33K SLoC