A pretty TUI scientific calculator. https://daisy.betalupi.com
 
 
 
 
 
 
Go to file
Mark 32c8738b9d
Updated README
2023-08-01 11:02:34 -07:00
.github/workflows Action version 2023-04-10 16:04:50 -07:00
buildscript Renamed token and pretoken 2023-06-16 12:58:06 -07:00
misc Modified banner 2023-04-02 22:06:33 -07:00
src Improved error printing 2023-08-01 10:35:34 -07:00
.editorconfig Edited actions 2023-04-10 14:07:04 -07:00
.gitignore Updated gitignore 2023-07-28 21:51:20 -07:00
Cargo.lock Version bump 2023-07-31 20:44:36 -07:00
Cargo.toml Version bump 2023-07-31 20:44:36 -07:00
LICENSE Added license 2023-03-27 10:55:20 -07:00
PKGBUILD Added pkgbuild 2023-07-29 12:53:00 -07:00
README.md Updated README 2023-08-01 11:02:34 -07:00
TODO.md Minor cleanup 2023-08-01 09:07:33 -07:00

README.md

A high-precision scientific calculator with support for units, derivatives, and more.

Many features are missing, this is still under development.

Features

  • Open-source
  • Extremely high precision
    • Uses a rational datatype when possible, and a high-precision float when not.
  • Pretty printing in prompt (with special substitutions)
  • Supports many physical units, with metric and binary prefixes
  • Supports exponential notation
  • Clear syntax, parsed input is always re-printed as a sanity check.
  • Useful, detailed error messages

Usage

All documentation is built into the prompt. Use the help command to view it.

Evaluate expressions:

  • Basic math: 103 / 2 * 43
  • Functions: sqrt(1.4^3 + 4) * sin(pi / 4)
  • Scientific notation: 1.2e12 * 1e-5

Physical units

  • Unit operations: 2 day + 1 hour
  • Unit conversion: 2 day + 1 hour to minutes
  • Compound units: 10 m/s to mph
  • Conversion errors: 1 liter to volt

Varables

  • Previous answer: ans + 2
  • Variable assignment: a = 143

Notes and Tricks

Unit Conversion

The conversion operator to converts its left argument to the unit of its right argument, ignoring its value. For example, 5m to mi and 5m to 10mi are identical.

Multiplication Order

Implicit multiplication has a higher priority than division. 1/2 pi will parse as 1/(2pi). Type (1/2) pi or 1/2 * pi to get half of pi.

Inline Assignment

The assignment operator = returns its value, and can thus be used inside of an expression. For example, (a = 2) + 2 assigns a to 2 and returns 4. This only works for variable assignment.