Evaluates a mathematical expression

The action supports all common mathematical operators, parentheses, and a couple of functions that you would typically find in a scientific calculator.

  • Input: Can be used in the Expression parameter
  • Output: The calculated output


  • Expression: The mathematical expression to evaluate

For evaluating the expression, the DDMathParser library is used. Below is an overview of the supported operators and functions.

Some other actions that have numeric parameters (e.g. Extend Selection and Move Caret) support the same expressions as this action.


Operator Function Description
Standard Operators
+ add addition and unary positive
- or  subtract and negate subtraction and negation
* or × multiply multiplication
/ or ÷ divide division
% mod or percent modulus or a percentage of a value
! factorial factorial
** pow exponentiation
º or ° dtor converts the value to radians
Bitwise Operators
& and bitwise and
| or bitwise or
^ xor bitwise xor
~ not bitwise not
<< lshift bitwise left shift
>> rshift bitwise right shift
Comparison Operators
== or = l_eq equal
!= l_neq not equal
< l_lt less than
> l_gt greater than
<= or  l_ltoe less than or equal
>= or  l_gtoe greater than or equal
Logical Operators
&& or  l_and logical and
|| or  l_or logical or
! or ¬ l_not logical not


Functions that take > 1 parameter

  • sum() - returns a sum of the passed parameters
  • count() - returns the number of passed parameters
  • min() - returns the minimum of the passed parameters
  • max() - returns the maximum of the passed parameters
  • median() - returns the median of the passed parameters
  • stddev() - returns the standard deviation of the passed parameters
  • average() - returns the average of the passed parameters
  • random() - returns a random integer. Can take 0, 1, or 2 parameters. The first parameter (if given) is the lower bound of the random integer. The second parameter (if given) is the upper bound of the random integer.
  • nthroot() - returns the n<sup>th</sup> root of a number. For example, nthroot(27,3) returns the cube root of 27, or 3.

Functions that take 1 parameter

  • sqrt() - returns the square root of the passed parameter
  • log() - returns the base 10 log of the passed parameter
  • ln() - returns the base e log of the passed parameter
  • log2() - returns the base 2 log of the passed parameter
  • exp() - returns e raised to the power of the passed parameter
  • ceil() - returns the passed parameter rounded up
  • floor() - returns the passed parameter rounded down

Trigonometric functions

  • sin(), cos(), tan()
  • Their inverses (asin, acos, atan)
  • Their reciprocals (csc, sec, cotan)
  • The reciprocals of the inverses (acsc, asec, acotan)
  • The hyperbolic variations of all the above functions (sinh, cosh, tanh, asinh, acosh, atanh, csch, sech, cotanh, acsch, asech, acotanh)
  • The versine functions (versin, vercosin, coversin, covercosin, haversin, havercosin, hacoversin, hacovercosin, exsec, excsc, crd)
  • dtor() - converts the passed parameter from degrees to radians
  • rtod() - converts the passed parameter from radians to degrees

Functions that take no parameters (“constant functions”)

  • phi() - returns the value of ϕ (the Golden Ratio). Also recognized as ϕ()
  • pi() - returns the value of π. Also recognized as π()
  • pi_2() - returns the value of π/2
  • pi_4() - returns the value of π/4
  • tau() - returns the value of τ. Also recognized as τ()
  • sqrt2() - returns the value of the square root of 2
  • e() - returns the value of e
  • log2e() - returns the value of the log base 2 of e
  • log10e() - returns the value of the log base 10 of e
  • ln2() - returns the value of the log base e of 2
  • ln10() - returns the value of the log base e of 10