#calculator #tui #cli #math #speed-crunch

bin+lib apecrunch

A SpeedCrunch inspired TUI calculator, for apes

3 releases

0.0.3 Sep 15, 2022
0.0.2 Aug 12, 2022
0.0.1 Jun 27, 2022

#119 in #calculator

26 downloads per month

GPL-3.0-only

175KB
1.5K SLoC

ApeCrunch, a calculator for apes...

What is ApeCrunch?

ApeCrunch aims to be a fast, user-friendly Rust/TUI calculator port of the popular SpeedCrunch project. While not a copy-paste port, there are plans to implement every function SpeedCrunch supports plus the addition of much more

TO-DO:

  • Add dedicated square root function
  • Add built in functions like sin, cos, tan, etc.
  • Make README pretty

Changelog:

Version 0.0.3

  • Added ability to retrieve answers with Ctrl+A (commit 44f0573)
  • Fixed bug where inserting a previous history entry would cause a panic (commit 5a0152e)
  • Fixed history list so it starts with the last computation selected (commit 4f32da1)

Version 0.0.2

  • Added good roots (commits 204f105/032b169/c98ee95/0298679/c980033)
  • Added variables (commits 2bf6780/337064e)
    • Added automatic storing of variables to history files (commit 52e7c70)
    • Added variable name checking (commit 4170b3e)
  • Added history file version check (commit 8ab539d)
  • Improved the code that postfixes three dots to numbers if there is a loss of precision converting the number to a string (commit c9e1613)
  • Fixed crash when reading corrupt/incompatible history files (commit 8ab539d)
  • Fixed order of operation (commit 2e31175)

Version 0.0.1

  • Added fractional numbers (commit eba06ee)
  • Added exponents (commit c84bc01)
  • Added support for negative numbers (commit 1ec049a)
  • Added ability to scroll through history (commit 6aede0c)
  • Added ability to select history entries (commit fa7ade5)
  • Added ability to exit program by pressing Esc (commit 6366ec7)
  • Added configurable decimal places (commit 7b4db5b)
  • Added automatic saving of calculations across multiple sessions (commit 3abc2cc)
  • Added parenthesis (commit a33a59c)
  • Added command line arguments (commit 7f31193)
  • Added properly formatted comments for rustdoc (commit 031bdb4)
  • Changed to bincode for history storage (commit 7f31193)
  • Config and history files are now stored per OS requirements (commit 7ea163c)
  • Deuglified layout/tui code (commit 6aede0c/6366ec7)
  • Enabled crossterm backend (commit 6366ec7)
  • No longer crashes when empty expression is entered (commit 159c78a)
  • Made view fullscreen (commit 62313aa)
  • Made test cases (commit ca102c9)
  • Made code even more idiomatic (commit d735543)
  • Sessions are now sorted by start date upon loading (commit 6911f74)
  • Ran rustfmt on source code (commit 24b37cd)

Dependencies

~12–24MB
~321K SLoC