calc-extension Firefox

calc-extension

Calculate values of mathematical expressions

Features & Capabilities

The extension strives to be useful for everybody quickly needing brief or mid-long calculations: in daily “browser” life, as a mathematician, or as a programmer - there is support for all needs.

Formulas can be entered in the typical mathematician's or programmer's syntax - both is understood. There is also support for lengthy sessions (saving/restoring, exporting to clipboard, etc).

The original motivation was to experiment with a Pratt parser. There is already a much richer expression syntax than in most languages (implicit multiplication signs, no braces necessary for function calls), and it would be simple to extend the syntax to a more full-blown “language”. (In fact, earlier versions of calc-extension had a simpler syntax. Readers interested in the parser implementation can check data/js/parser.js).

After installing calc-extension, it can be used as follows.

Click the calc-extension symbol 1+2.

Then a page opens where you can enter a formula (see below) which will be calculated when you press the solver button (~>). (There is an option to use the enter key instead if you prefer.) The result is then shown and you can enter the next formula. You can also go back to an earlier entered formula and “recalculate” it (e.g. after you modified some variables). To remove a formula from your list, simply remove the main formula text and press the solver button.

A simple formula is a usual mathematical expression which consists of numbers, the usual operators + - * / and braces ( ). As usual in mathematics (though not in most computer languages), it is possible to omit the multiplication sign. However:

Be aware that x means the variable x and not a multiplication sign…!

For multiplication use instead one of the symbols * · × or simply omit it (a space can be used to separate adjacent tokens). The division symbol is / or :.

Numbers have the usual floating-point format, e.g. 17 0.1 1.2e-3 or they can be octal or hexadecimal: For an octal number start with 0, for a hexadecimal number start with 0x.

There are further operators which can be used in expressions:

  • % remainder (“modulo”)
  • ** or exponentiation (binds from right to left)
  • & bitwise AND
  • | bitwise OR
  • ^ bitwise XOR
There are also some mathematical functions available. Note that functions bind stronger than all binary operators, i.e. sin π/2 is the same as sin(π)/2 but differs from sin(π/2).
  • sin the sine, argument is in radians
  • cos the cosine, argument is in radians
  • tan the tangent, argument is in radians
  • asin the arcsine, in radians
  • acos the arccosine, in radians
  • atan the arctangent, in radians
  • sinh the hyperbolic sine
  • cosh the hyperbolic cosine
  • tanh the hyperbolic tangent
  • asinh the hyperbolic areasine
  • acosh the hyperbolic areacosine
  • atanh the hyperbolic areatangent
  • log10 the base 10 logarithm
  • log2 the base 2 logarithm
  • log the natural logarithm (base E)
  • log1p log(1+x) where x is the argument
  • exp the exponential function (base E)
  • expm1 exp x - 1 where x is the argument
  • sqrt the square root, that is sqrt x = x ** (1/2)
  • cbrt the cube root, that is cbrt x = x ** (1/3)
  • abs the absolute value
  • sign the signum (1, 0, or -1)
  • floor the value rounded down to its nearest integer
  • ceil the value rounded up to its nearest integer
  • trunc the value rounded to the integer of smaller absolute value
  • round the value rounded to its nearest integer
  • fround the value rounded to the nearest 32 bit float
  • clz32 the number of leading zero bits in a 32 bit representation
Furthermore, there are constants available:
  • E Euler's number exp 1
  • PI or π the circle number acos -1
  • SQRT2 sqrt 2
  • SQRT1_2 sqrt 1/2
  • LN2 log 2
  • LN10 log 10
  • LOG2E log2 E
  • LOG10E log10 E
  • EPSILON or ε the distance of 1 to the smallest larger floating point number
Finally, it is possible to define variables with e.g. a=... and to use them. Variable names must only consist of English characters, numbers, or _.

The whole syntax and operator precedence is inspired by javascript. However, the following things are new.

There is a special variable name # which always refers to the result of the last (succesful) calculation.

There are also special sequences which can occur anywhere in an expression and which cause options to switch (you can also switch them by the mouse). To modify options more permanently (also for future sessions even across browser restarts), you have to set them in the preferences window.

  • 'width:height' default is 60:1
  • "base" switch output to base (2-36)
  • ! new input fields are textareas (multiple lines)
  • ? new input fields are for single lines
The actual calculation of the functions and number conversion occurs by javascript calls. Therefore, mathematical properties like available precision, error messages, number limitations, and possible inaccuracies (and possibly even bugs) are inherited from the javascript interpreter.

Example session

  • 1 + 2(1+1) + (2-1)(3-2)
  • ~> 6
  • 1·1 + 1×1 + 1 1 + 1*1
  • ~> 4
  • 2↑2↑3 - 2**8 + 4/3 - 1:3
  • -> 1
  • 1 - cos π/2 + cos(PI/2)
  • ~> 1.5
  • a = 3(# + 1)
  • ~> 7.5
  • # + 4a
  • ~> 37.5
  • 0xF | 0100 "16"
  • ~> 4f (in base 16)
Permissions

The extension requires the storage permission in order to store options/accordion state and possibly a session on local storage.

Languages

Currently, the following languages are supported:

  • en (default language)
  • de

User Growth & Download Statistics

Manifest V2 Add-on
By:
Martin Väth
Daily users:
34
Rating:
5.00
(3)
Version:
5.4resigned1 Last updated: 2024-04-25
Version code:
5730313
Creation date:
2018-02-17
Risk:
Very low risk impact Low risk likelihood
Permissions:
Size:
49.51KB
URLs:
Website
Full description:
See detailed description
Source:
Firefox Add-ons Store
Data ingested on:
2026-06-17
Compare stats and ranking:

Contact the developer

Chrome-Stats does not own this Firefox add-on. Please use these information below to contact the Firefox add-on developer.
Developed by:
Martin Väth
Firefox Add-ons Store
https://addons.mozilla.org/firefox/addon/calc-extension/
Website:
https://github.com/vaeth/calc-extension/

User Reviews

by 远离*****, 2025-04-10

by 远离*****, 2025-03-20

by Th*****, 2020-04-15
View all user reviews ›

Is calc-extension Safe?

Risk impact
Risk impact measures the level of extra permissions an extension has access to. A low risk impact extension cannot do much harms, whereas a high risk impact extension can do a lot of damage like stealing your password, bypassing your security settings, and accessing your personal data. High risk impact extensions are not necessarily malicious. However, if they do turn malicious, they can be very harmful.

calc-extension does not require any sensitive permissions.

Risk impact analysis details
Risk likelihood
Risk likelihood measures the probability that a Firefox add-on may turn malicious. This is determined by the publisher and the Firefox add-on reputation on Firefox Add-ons Store, the amount of time the Firefox add-on has been around, and other signals about the Firefox add-on. Our algorithms are not perfect, and are subject to change as we discover new ways to detect malicious extensions. We recommend that you always exercise caution when installing a Firefox add-on.

calc-extension has earned a fairly good reputation and likely can be trusted.

Risk likelihood analysis details
  • High This extension has low user count. Unpopular extensions may not be stable or safe.
  • Low **** ********* *** ******* **** **** * ****** **** ***** ******** *** **** ****** ** ** ****** *** *****
  • Low **** ********* *** ***** **** **** * ****** **** ***** ********** *** **** ****** ** ** ****** *** *****
  • Good **** ********* *** **** **** *******
Extension Guard
Extension Guard

Discover every extension in use, analyze risks, and enforce blocking policies with Extension Guard

Secure Your Browser
Upgrade to see full risk analysis details

Best calc-extension Alternatives

Here are some Firefox add-ons that are similar to calc-extension: