# 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 nandRelational (6)== !=, ≠ > < >= <=## Functions (81)

Arithmeticadd(x,y) 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 binUnit 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 percentiswhatpercentof(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.

- C# Operators (Microsoft.com)
- C# Operators (TutorialsPoint.com)
- Operator precedence and associativity in C#: the order of operations examined
- Operators (Cplusplus.com)
- Differences in boolean operators: & vs && and | vs ||
- Logical Connective: List of common logical connectives
- What is C#'s short-circuit evaluation?
- Philosophy Pages - connective