Skip to main content

A stack-based calculator plugin for Plover

Project description

RPN Calculator for Plover

PyPI GitHub

RPN Calculator is a stack-based calculator that you can use to calculate equations directly in-line while writing. It uses reverse polish notation, where operations are written after their arguments, rather than in-between.

Commands

Definition Explanation
{:rpn_put:<characters>} Put characters into buffer.
For example: {:rpn_put:1}
{:rpn_put_ext} Put all characters after the most recent calculator command into buffer. This allows you to use regular number entry strokes rather than rpn_put strokes to put characters into buffer.
{:rpn_del_buff} Delete rightmost character in buffer.
{:rpn_clear_buff} Clear buffer.
{:rpn_clear_all} Clear and delete everything.
{:rpn_push} Parse and push buffer into stack.
{:rpn_push_bin} Parse and push buffer into stack as binary.
{:rpn_push_hex} Parse and push buffer into stack as hexadecimal.
{:rpn_add} Pop (x, y) from stack (where y is at the top) and push x + y.
{:rpn_sub} Subtraction: Pop (x, y), push x - y.
{:rpn_mul} Multiplication: Pop (x, y), push x * y.
{:rpn_div} Division: Pop (x, y), push x / y.
{:rpn_intdiv} Floor division: Pop (x, y), push floor(x, y).
{:rpn_mod} Modulo: Pop (x, y), push x mod y.
{:rpn_pow} Exponent: Pop (x, y), push pow(x, y).
{:rpn_neg} Negation: Pop x, push -x.
{:rpn_and} Bitwise AND: Pop (x, y), push x & y.
{:rpn_or} Bitwise OR: Pop (x, y), push `x
{:rpn_xor} Bitwise XOR: Pop (x, y), push x ^ y.
{:rpn_not} Bitwise NOT: Pop x, push ~x.
{:rpn_lsl} Logical Shift Left: Pop (x, y), push x << y.
{:rpn_lsr} Logical Shift Right: Pop (x, y), push x >> y.
{:rpn_swap} Swap top two stack items.
{:rpn_pop} Remove the topmost item.
{:rpn_dup} Duplicate top stack item.
{:rpn_func:<params>:<return>} Define custom function; parameters are separated by commas, and the return value is written using python syntax.
For example: {:rpn_func:x,y:3*x+2*y}
{:rpn_end} Mark the end of the calculation.

Here are a few things to note when using the plugin:

  • You can chain these definitions in a single stroke. For instance, "{:rpn_clear_buff}{:rpn_dup}{:rpn_put:2}{:rpn_mul}" will let you repeatedly add double the topmost item onto the stack.
  • When the stack has exactly one item, it will be formatted as a bare number, allowing you to quickly move on after calculation.
  • You can use the undo stroke (Typically *) to undo all RPN commands. This is helpful whenever you encounter an error during calculation.
  • Most operations that pop from the stack will push whatever you have in the buffer onto the stack first before popping. This allows you to, for example, use {:rpn_add} to directly add the buffer to the item at the top of the stack, without the need to stroke the rpn_push command.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plover-rpn-calculator-0.0.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

plover_rpn_calculator-0.0.1-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file plover-rpn-calculator-0.0.1.tar.gz.

File metadata

  • Download URL: plover-rpn-calculator-0.0.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.3 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.5

File hashes

Hashes for plover-rpn-calculator-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ce8dc52e8331ffd543537a0c826a3f2b3c6f9792a41872da8bf488524dfd0ddd
MD5 ac5231de5a5818dfab991f1127ee4df2
BLAKE2b-256 592f3ba75aa1fc198f9fd21643f8d3299f64f9ca49118fee61e2f9f4332859a5

See more details on using hashes here.

File details

Details for the file plover_rpn_calculator-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: plover_rpn_calculator-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.3 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.5

File hashes

Hashes for plover_rpn_calculator-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f46cba6f590bcd4f1706f8778e87f6f710133fd8b7f3267b198bb650d2238f2
MD5 7ea7a8e64acab8187e1551e926acd352
BLAKE2b-256 bd1feab3d973f6ed851cff4b9557f257be7b47e28f321aafc1423d1378e94770

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page