Math Functions: Standard Calculator
Math Functions: Standard
List of standard math functions, including basic math, powers and roots, and logarithms. Many functions include links to more in-depth examples.
[https://.../t/help_functions|List of all functions].
Basic Math
Addition [+]
Calculator
Algebraic: ++value 1 + value 2++
RPN: ++value 1 [ENT] value 2 [+] ++
Add 'value 1' and 'value 2'.
** Details**
- Can add two real, fraction, units of the same type, or programmer numbers
- Can add real and fraction, real and programmer, or fraction and programmer numbers
Template
++value 1 + value 2++
Add 'value 1' and 'value 2'.
** Details**
- Can add two numbers or a date and number where the number represents a number of days
- Can add two tables, a number to a table, or a table to a number to create a new table
- When adding two tables, those tables must be the same length or 'Invalid dimensions' is returned
- When adding a date and number, number must be a whole number or it will be truncated to one
Subtraction [−]
Calculator
Algebraic: ++value 1 – value 2++
RPN: ++value 1 [ENT] value 2 [–]++
Subtract 'value 2' from 'value 1'.
** Details**
- Can subtract two real, fraction, units of the same type, or programmer numbers
- Can subtract real and fraction, real and programmer, or fraction and programmer numbers
Template
++value 1 – value 2++
Subtract 'value 2' from 'value 1'.
**Details**
- Can subtract two numbers or a date and number where the number represents a number of days
- Can subtract two tables, a number from a table, or a table from a number to create a new table
- When subtracting two table,s those tables must be the same length or 'Invalid dimensions' is returned
Multiplication [×, *]
Calculator
Algebraic: ++value 1 × value 2++
RPN: ++value 1 [ENT] value 2 [×]++
Multiply 'value 1' and 'value 2'.
** Details**
- Can multiply two real, fraction, or programmer numbers
- Can multiply real and fraction, real and programmer, or fraction and programmer numbers
- Can multiply length and area
- Can multiply length and real, fraction or programmer number
Template
++value 1 * value 2++
Multiply 'value 1' and 'value 2'.
**Details**
- Can multiple two tables, a number to a table, or a table to a number to create a new table
- When multiplying two tables, those tables must be the same length or 'Invalid dimensions' is returned
Division [÷, /]
Calculator
Algebraic: ++value 1 ÷ value 2++
RPN: ++value 1 [ENT] value 2 [÷]++
Divide 'value 1' by 'value 2'.
** Details**
- 1 / value 2 : returns the reciprocal of 'value 2'
- 'value 2' equal to 0 will return a 'Division by 0' calculation error
- Can divide two real, fraction, or programmer numbers
- Can divide real and fraction, real and programmer, or fraction and programmer numbers
- Can divide volume by area, length, real, fraction or programmer number
- Can divide area by length, real, fraction or programmer number
- Can divide length by real, fraction or programmer number
Template
++value 1 / value 2++
Divide 'value 1' by 'value 2'.
**Details**
- 1 / value 2 : returns the reciprocal of 'value 2'
- 'value 2' equal to 0 will return a 'Division by 0' calculation error
- Can divide two tables, a number into a table, or a table into a number to create a new table
- When dividing two tables, those tables must be the same length or 'Invalid dimensions' is returned
Percent [%]
Calculator: Standard
++value%++: divide 'value' by 100.
++value + percentage%++: add percentage to value
++value − percentage%++: subtract percentage from value:
** Details**
- 'value' can be a real, unit, or fraction number
- 'percentage' should be a real number
**Examples**
<110% = 1.1>
<110 + 25% = 110 + 27.5 = 137.5>
<90 − 25% = 90 − 22.5 = 67.5>
Calculator: RPN
++value [ENT] value [%]++
Calculate intermediate result with option to calculate percent change.
** Details**
- Automatically assumes this calculation if 2 or more items pushed on the stack
**Examples**
<50 [ENT] 20 [%] pushes 10>
<50 [ENT] 20 [%] [+] pushes 60>
<50 [ENT] 20 [%] [−] pushes 40>
++value [%]++
Divide 'value' by 100.
** Details**
- 'value' can be a real, unit, or fraction number
- Automatically assumes this calculation if 1 item pushed on the stack
Template
++value%++
Divide 'value' by 100.
**Details**
- Using % as a modifier for a variable automatically alters the number for calculations and displays that variable's calculated result as a percentage
- 'value' can either be a number or table where the same is returned
**Examples**
- [https://.../t/8fd3ffc37a02a16d994a|Discount]
Percent Change [ch%, ch]
Calculator
Algebraic: ++ch(value; change)++
RPN: ++value [ENT] change [ch%]++
Returns the result of 'value' added or subtracted to 'value' times a percentage 'change' (expressed as a decimal).
Traditionally financial calculators perform this math by entering 'value' + 'change'% or 'value' - 'change'%; spreadsheets require this formula to be written as 'value' + ('value' * 'change'%) or 'value' - ('value' * 'change'%).
** Details**
- positive values for 'change' mean add; negative values mean subtract
- 'change' should be entered as a decimal (i.e., 0.08). See details below
- 'value' can be a real, unit, or fraction number
**Notes About 'change'**
'change' should be sent to this function as a decimal. You can either follow 'change' with a percent sign or divide the value by 100. To calculate a 15% discount on $100 in algebraic mode:
ch(100; -15%)
ch(100; -15 ÷ 100)
In RPN input mode:
100 [ENT] 15 [±] [%] [ch%]
100 [ENT] 15 [±] [ENT] 100 [÷] [ch%]
Template
++ch(value; change)++
Returns the result of 'value' added or subtracted to 'value' times a percentage 'change' (expressed as a decimal).
Traditionally financial calculators perform this math by entering 'value' + 'change'% or 'value' - 'change'%; spreadsheets require this formula to be written as 'value' + ('value' * 'change'%) or 'value' - ('value' * 'change'%).
++ch(value; change; periods)++
Returns a new value given an old 'value', percentage 'change' (expressed as a decimal), and number of 'periods'; this calculates compound annual growth rate (CAGR).
**Details**
- positive values for 'change' mean add; negative values mean subtract
- 'change' should be entered as a decimal (i.e., 0.08). See details below
- 'value' can either be a number or table where the same is returned
**Notes About 'change'**
'change' should be sent to this function as a decimal. There are multiple methods to accomplish this:
- Divide 'change' in the function by 100:
- Supplement 'change' in the function with %:
- Modify the variable itself to include a percentage so PowerOne can handle this automatically:
**Examples**
- [https://.../t/68f56604c7d0ca5f08f4|Percent Change]
Modulo [mod]
Calculator
Algebraic: ++mod(value 1; value 2)++
RPN: ++value 1 [ENT] value 2 [mod]++
Returns the remainder of 'value 1' divided by 'value 2'.
** Details**
- 'value 1' and 'value 2' can be real or fraction numbers
Template
++mod(value 1; value 2)++
Returns the remainder of 'value 1' divided by 'value 2'.
**Details**
- 'value 2' equal to 0 will return a 'Division by 0' calculation error
- 'value 1' and 'value 2' can either be a table or a number where the same is returned
- If both 'value 1' and 'value 2' are tables then they both must be the same length or 'Invalid dimensions' is returned
- 'value 1' or 'value 2' too large to calculate returns 'Parameter out of range' error
Reciprocal [1/x, x⁻¹]
Calculator
Algebraic: ++1/value++
RPN: ++value [1/x]++
Returns the reciprocal or inverse of 'value'.
** Details**
- 'value' can be real, fraction, or programmer number
Template
See Division.
Powers & Roots
Power [yᕽ, x², x³, ^]
Calculator
Algebraic: ++value ^ x++
RPN: ++value [ENT] x [yᕽ]++
Returns 'value' raised to the 'x' power. The power button is denoted by the yᕽ symbol.
** Details**
- 'value' can be a real, length or area unit, or fraction number
- If 'x' is 2 then 'value' is squared; same as ++value [x²]++
- If 'x' is 3 then 'value' is cubed; same as ++value [x³]++
- If 'x' is -1 then 'value' is inversed; same as ++1 ÷ value++
- If 'x' is (1÷2) then returns the square root of 'value'; same as ++sqrt(value)++
- If 'x' is (1÷x) then returns the 'x'th root of 'value'; same as ++root(value; x)++
- If 'x' is a fraction 1⁄x then same as 'x'th root of 'value'; same as ++root(value; x)++
Template
++value ^ x++ : returns 'value' raised to the 'x' power.
++value ^ 2++ : returns 'value' squared.
++value ^ 3++ : returns 'value' cubed.
++value ^ -1++ : returns the inverse (or reciprocal) of 'value'.
++value ^ (1/2)++ : returns square root of 'value'. Same as sqrt(value).
++value ^ (1/x)++ : returns 'x'th root of 'value'. Same as root(value; x).
**Details**
- 'value' can either be a number or table where the same is returned
Square Root [√, sqrt]
Calculator
Algebraic: ++sqrt(value)++
RPN: ++value [√]++
Returns the square root of 'value'. The square root button is denoted by the √ symbol.
** Details**
- 'value' can be a real, fraction, or programmer number
- 'value' can be an area or volume unit
Template
++sqrt(value)++
Returns the square root of 'value'.
**Details**
- 'value' can either be a number or table where the same is returned
Root [ᕽ√y, root]
Calculator
Algebraic: ++root(value; x)++
RPN: ++value [ENT] x [ᕽ√y]++
Returns the 'x'th root of 'value'. The root button is denoted by the ᕽ√y symbol.
** Details**
- If 'x' is 2 then returns the square root of 'value'; same as ++sqrt(value)++
- 'value' can be a real, area or volume unit, fraction, or programmer number
Template
++root(value; x)++ : returns the 'x'th root of 'value'
++root(value; 2)++ : returns the square root of 'value', same as sqrt(value)
**Details**
- 'value' can either be a number or table where the same is returned
**Example**
[https://.../t/3fbb3c96973c21053dcb|Investment Return]
Logarithms
Natural Logarithm [ln]
Calculator
Algebraic: ++ln(value)++
RPN: ++value [ln]++
Returns the natural log of 'value'.
** Details**
- 'value' can be a real or fraction number
Template
++ln(value)++
Returns the natural log of 'value'.
**Details**
- 'value' can either be a number or table where the same is returned
Exponential [exp]
Calculator
Algebraic: ++exp(value)++
RPN: ++value [exp]++
Returns the constant e raised to 'value' power.
** Details**
- e is the base of natural log, or 2.718281828459045
- 'value' can be a real or fraction number
Template
++exp(value)++
Returns the constant e raised to 'value' power.
**Details**
- e is the base of natural log, or 2.718281828459045
- 'value' can either be a number or table where the same is returned
Logarithm [log]
Calculator
Algebraic: ++log(value)++
Algebraic: ++log(value; base)++
RPN: ++value [log]++
Returns the logarithm of 'value' in base 10 if 'base' is not provided; otherwise returns the logarithm of 'value' in 'base'.
To calculate a non-base 10 log in RPN mode: ++value [log] base [log] [÷]++
** Details**
- 'value' can be a real or fraction number
- 'base' must be a whole number greater than or equal to 2. Real numbers will be truncated.
Template
++log(value)++ : returns the logarithm of 'value' in base 10.
++log(value; base)++ : returns the logarithm of 'value' in 'base'.
**Details**
- 'base' must be a whole number greater than or equal to 2. Real numbers will be truncated. Whole numbers outside this range will return a "Parameter out of range" calculation error
- 'value' can either be a number or table where the same is returned
Antilogarithm [log⁻¹, alog]
Calculator
Algebraic: ++alog(value)++
RPN: ++value [log⁻¹]++
Returns the inverse logarithm of 'value'. The antilogarithm button is denoted by the log⁻¹ symbol.
** Details**
- 'value' can be a real or fraction number
Template
++alog(value)++
Returns the inverse logarithm of 'value'.
**Details**
• 'value' can either be a number or table where the same is returned
Keywords
-------------
Addition
+
Subtraction
-
Multiplication
*
×
Division
/
÷
Percent
%
Percent Change
ch()
Modulo
mod()
Powers
Power
^
Square Root
sqrt()
Root
root()
Logarithm
Log
Natural Logarithm
Natural Log
ln()
Exponential
exp()
Logarithm
Log
log()
Antilogarithm
Antilog
alog()