5 releases
0.1.4 | Mar 30, 2022 |
---|---|
0.1.3 | Mar 28, 2022 |
0.1.2 | Mar 27, 2022 |
0.1.1 | Mar 26, 2022 |
0.1.0 | Mar 26, 2022 |
#16 in #๐ฆ
21 downloads per month
48KB
1K
SLoC
๐งฎ clc - Command Line Calculator
Clc is a Command line calculator written in Rust ๐ฆ It eval given expression and print result.
๐ Table of Contents (Toc)
Installation
Usage
License
๐ป Installation
There are prebuilt x86-64 binaries for Linux, macOS and Windows on the release page.
You can install the latest release from source using cargo, or build directly from a source checkout.
๐ฆ Via cargo
cargo install clc
๐ง Linux
curl -sSLf https://github.com/ymgyt/calculator/releases/download/0.1.4/clc-x86_64-unknown-linux-gnu.tar.gz | tar zxf - -C /usr/local/bin
๐ Mac
curl -sSLf https://github.com/ymgyt/calculator/releases/download/0.1.4/clc-x86_64-apple-darwin.tar.gz | tar zxf - -C /usr/local/bin
๐ณ Docker
To use clc with docker, execute the following command.
docker run --rm -it ghcr.io/ymgyt/clc:latest
๐ฉโ๐ป Usage
Execute the clc
command to start a repl session. type the expression to evaluate and press Enter.
To exit the session, type quit
or press Ctrl + C.
$ clc
Version: v0.1.4
To quit, press Ctrl+C or type quit
โฏ sqrt(sqrt(16)) * (100 - 1) * (100 + 1) / 9
2222
โฏ quit
bye
You can also retrieve results directly without using a repl session. pass the expression to evaluate with --eval
flag
clc --eval 'sqrt(-2^2) - abs(2)'
๐ Lambda expression
Some functions take lambda expression as argument.
A lambda expression is written like |x| { x^2 }
.
{
,}
are optional, so the above expression can also be written as follows |x| x^2
.
โฏ sig(1,10 |x| x^2)
385
โฏ sig(1,10 |x| sig(1,10 |y| x*y))
3025
๐ด Supported Functions
identifier | description |
---|---|
sqrt(n) |
Returns the square root of a number Return NaN if a negative number provided |
pow(n,m) |
Raise n to the power of m. (= n ^ m ) |
abs(n) |
Compute the absolute value of n |
sig(n,m,lambda) |
Execute lambda with values from n to m and return the sum of the results |
๐ฅฃ Constants
identifier | description |
---|---|
pi |
Archimedesโ constant (ฯ) |
e |
Eulerโs number (e) |
๐ชช License
This project is available under the terms of either the Apache 2.0 license or the MIT license.
Dependencies
~10โ24MB
~307K SLoC