# Supported Functions

All the functions listed below are the ones currently supported by CalcPad. Function names that are seperated on the same line with a comma are just alternative names (or symbols) for the function.

Functions are NOT case-sensitive. So you may capitalize as you wish to help readability, such as some of the bitwise operators: bitor (BitOr), bitxor (BitXor), shiftleft (ShiftLeft), shiftright (ShiftRight), etc..

Some operator symbols have more than one meaning, such as "-" and "!". CalcPad figures out the correct meaning based on the context it's used in.

## Operators (37)

```"Floored Mod"
remainder "IEEE Remainder"
factorial, !
negate, -

Bitwise (10)
~ "bitwise not/complement"
& "bitwise and"
bitxor "bitwise xor"
| "bitwise or"
~| "bitwise nor"
~& "bitwise nand"
<<, shiftleft
>>, shiftright
rotl "bitwise rotate left"
rotr "bitwise rotate right"

Logical (7)
¬, ! "logic-only not"
&& "logic-only and"
|| logic-only or"
⊕ "logic-only xor"
≡, ↔, ⇔, iff "logic-only equality"
!| "logic-only nor"
!& "logic-only nand"

Bitwise and Logical (6) (works for both)
not
and
xor, x|
or
nor
nand

Relational (6)
==
!=, ≠
>
<
>=
<=

Functions (81)Arithmetic
subtract(x,y)
multiply(x,y)
divide(x,y)

Trigonometry (24)
sin(x), sine(x)
cos(x), cosine(x)
tan(x), tangent(x)
csc(x), cosecant(x)
sec(x), secant(x)
cot(x), contangent(x)
sinh(x)
cosh(x)
tanh(x)
csch(x)
sech(x)
coth(x)
asin(x), arcsin(x)
acos(x), arccos(x)
atan(x), arctan(x)
acsc(x)
asec(x)
acot(x)
asinh(x)
acosh(x)
atanh(x)
acsch(x)
asech(x)
acoth(x)

Roots (9)
sqrt(x), root2(x), √
cbrt(x), root3(x), cuberoot(x)
root4(x), fourthroot(x)
root5(x), fifthroot(x)
root6, sixthroot
root7, seventhroot
root8, eighthroot
root9, ninthroot
root(x,y)

Logs (11)
ln(x)
log2(x)
log3(x)
log4(x)
log5(x)
log6(x)
log7(x)
log8(x)
log9(x)
log10(x), log(x)
log_x(x,y)

Combinatorics (2)
nPr(x,y)
nCr(x,y)

Binary Functions (5)
gcd(x,y)
lcm(x,y)
round(x,y)
chop(x,y)
bitflip(x,y)

Number Base Conversion (3)
to hex
to oct
to bin

Unit Conversion (1)
to meters, in meters
to oz, in oz
etc.

Output Format Conversion (6)
to fraction
to percent
to scientific
to scientific notation
to words
to base units
*can also use 'in' and 'as'*

Loop (3)
summation(x,y,z) and sumloop and ∑, where x = expression, y = lower limit and z = upper limit.
productloop(x,y,z) and ∏, where x = expression, y = lower limit and z = upper limit.
loop(a,b,c,d,e), where a = variable name, b = expression, c = lower limit, d = upper limit, e = increment.

Percentages (6)
on, on top, on top of
off, off of
of
change(x,y), amountofchange(x,y) - note: outputs change from x to y as a percent
iswhatpercentof(x,y) or in infix notation: x 'is what percent of' y.
percentofwhatis(x%,y) or in infix notation: x% 'of what is' 7.

Other (10)
abs(x), absolute(x)
ceiling(x)
floor(x)
truncate(x)
fib(x)
max(x,y)
min(x,y)
gamma(x)
isprime(x), prime(x)
exp(x) - note: raises e to the x power```

There are a total of 117 supported functions.

## Sources

Below are some of the sources I used to become familiar with the different kinds of operators.