termcalc

Crates.iotermcalc
lib.rstermcalc
version1.0.1
sourcesrc
created_at2024-09-01 07:46:58.212519
updated_at2024-11-21 21:13:55.748465
descriptiona simple Terminal Calculator
homepagehttps://github.com/rtbo/termcalc
repositoryhttps://github.com/rtbo/termcalc
max_upload_size
id1359391
size178,757
Remi Thebault (rtbo)

documentation

https://github.com/rtbo/termcalc

README

Terminal calculator

A simple command line calculator.

Purpose

The binary name is tc. If you are already in a terminal session and need a quick calculation, typing tc "2.5 + 3.73 / 4" is actually faster than grabbing your desktop calculator or starting and using a calculator app.

tc is also a lot simpler to use than bc or dc.

Manual

The manual states quite everything you need to know about tc. (and it'll take you about one minute to read)

Examples

Expressions on the command line

$ tc "1.2 + 3^2 + sqrt(12)"
1.2 + 3^2 + sqrt(12) = 13.664101615137753

$ tc "cos(pi/3)" "sin(pi/6)"
cos(pi/3) = 0.5000000000000001
sin(pi/6) = 0.49999999999999994

$ tc -s "12*3 + 18*2.5 - 3 * 2.3" # or --strip
74.1

Interactive session

an interactive session screenshot

Clear diagnostics

$ tc "1.4 + son(pi/6)" # typo
1.4 + son(pi/6)
      ^^^
error: Function `son` is unknown

Grammar reference

See Grammar.ebnf

Installation

Several methods are supported. If you are a rust developer, you can use cargo directly:

$ cargo install termcalc

This will install the program tc on all supported platforms.

Method Platform How-To
Cargo All cargo install termcalc
Snap Linux sudo snap install termcalc

Other methods: work in progress

Linux specific case

On Linux, tc is a kernel system utility (Traffic Control). Snap and distribution packages will install a binary named termcalc. If you don't use the system tc, you are encouraged to create a tc alias to termcalc like so:

$ echo "alias tc=termcalc" >> ~/.bash_aliases
$ source ~/.bashrc

If it doesn't work, uncomment or append the following to ~/.bashrc

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
Commit count: 109

cargo fmt