csc

Crates.iocsc
lib.rscsc
version0.1.9
sourcesrc
created_at2023-10-12 07:06:25.060853
updated_at2024-03-26 05:30:38.319494
descriptionCommand Line Scientific Calculator
homepage
repositoryhttps://github.com/zahash/csc
max_upload_size
id1001002
size57,398
zahash (zahash)

documentation

README

 ██████╗███████╗ ██████╗
██╔════╝██╔════╝██╔════╝
██║     ███████╗██║     
██║     ╚════██║██║     
╚██████╗███████║╚██████╗
 ╚═════╝╚══════╝ ╚═════╝
------------------------
Command Line Scientific Calculator. Free Forever. Made with ❤️ using 🦀

Crates.io License: MIT

Download

https://github.com/zahash/csc/releases

( or )

cargo install csc

Usage examples

launch the interactive prompt by typing csc to run multiple computations

a = 10
b = a + 1.14
c = log(b, 3) + sin(PI)

or run one off computations by simply providing them

$ csc 10 + 1.14
$ csc '10 + 1.14 * ln(50)'

Features

# basic arithmetic and assignment
a = 1
b = -2 % a * (3^2 / 4)
b += 100

# functions
exp(x)
sqrt(x)
cbrt(x)
abs(x)
floor(x)
ceil(x)
round(x)

ln(x)
log2(x)
log10(x)
log(x, b)

sin(rad)
cos(rad)
tan(rad)

sinh(rad)
cosh(rad)
tanh(rad)

asin(rad)
acos(rad)
atan(rad)

asinh(rad)
acosh(rad)
atanh(rad)

All calculations are done using 64 bit binary floating point arithmetic (using the Rust type f64), so you can come across the limitations of this implementation, and observe behavior that may be different from other “scientific calculators”, such as the following:

  • Rounding errors that may be surprising in decimal notation (e.g. evaluating 0.1 + 0.2 prints 0.30000000000000004).
  • Special values such as “infinity”, “not a number” or a negative zero can be the result of calculations that overflow or have invalid arguments.

Meta

M. Zahash – zahash.z@gmail.com

Distributed under the MIT license. See LICENSE for more information.

https://github.com/zahash/

Contributing

  1. Fork it (https://github.com/zahash/csc/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request
Commit count: 24

cargo fmt