Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Multipurpose calculator with coalescing written in Rust

License

NotificationsYou must be signed in to change notification settings

Techno-coder/calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

>> (10) - 2 + 4;[0] 4>> 2 * 0x03[1] 6>> $ ^ $$[2] 1296>> $2 % 5[3] 1

Installation

$ cargo install --locked --git https://github.com/Techno-coder/calculator

Execution

$ calculator

Basic mode does not update on each key press and may work better for lessadvanced terminals.

$ calculator -b/--basic

Evaluation mode reads from the standard input pipe and outputs results directly.

$ echo expression | calculator -e/--evaluation

Arithmetic Operators

In order of precedence:

  • + - Add
  • - - Minus
  • * - Multiply
  • / - Divide
  • % - Modulo
  • ^ - Power

Numerical Formats

  • 0x000a - Hexadecimal
  • 0b1010 - Binary
  • 0o0012 - Octal
  • 1.0 - Floating
  • 1e1 - Scientific

Variables

  • $ - Last evaluation result
  • $$ - Second last evaluation result
  • $$...$ - Arbitrary position evaluation result
  • $0 - Variable with identifier0
  • $aa - Variable with identifieraa

Functions

>> function argument

Functions take the term immediately to the right.Whitespace is required after the function name.

  • abs - Absolute value
  • sqrt - Square root
  • cbrt - Cube root
  • ln - Natural logarithm
  • log2 - Binary logarithm
  • log10 - Decimal logarithm

Trigonometry

  • sin - Sine
  • cos - Cosine
  • tan - Tangent
  • asin - Inverse sine
  • acos - Inverse cosine
  • atan - Inverse tangent

The trigonometric functions can take and return degrees by appending':

>> asin' 1[0] 90

Constants

  • e - Euler number
  • pi - Pi (3.14)

Coalescence

  • ; - Coalesce operator

The coalesce operator combines the previous two terms into a single node.This eliminates the need for parentheses.

>> 10 - 2 + 4;

is equivalent to:

>> 10 - (2 + 4)

Repetitions of the coalesce operator will combine more than two terms:

>> 1 / 1 + 2 + 3;;

is equivalent to:

>> 1 / (1 + 2 + 3)

Sometimes a combined term is nested inside another:

>> 1 / (2 - (3 + 4))

This can be achieved by leaving whitespace after the first coalescence:

>> 1 / 2 - 3 + 4; ;

About

Multipurpose calculator with coalescing written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors2

  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp