# Functions

When writing out measurement equations in Seamly, there are many mathematical functions that one may use to make them work seamlessly. This is a list of the functions, with a one-line example of how to actually use them in equations. Functions are served by the muparser math library.^{[1]}

## Basic Functions[edit | edit source]

These are functions which are so basic that they didn't get included in the list

**+** plus (3+4=7)

**-** minus (3-4=-1)

***** times (3*4=12)

**/** divided by (3/4=.75)

**^** to the power of (3^4=81)

## Advanced Functions[edit | edit source]

Most of these functions are found in the table, however IF, (& possibly others?) are not in the list. I will list IF first, & then proceed in alphabetical order as the functions appear in the list. It may be better to list them by branch of mathematics, but for now the list, & thus the alphabet, has priority.

Variables are always welcome to be equations, they do not need to be numerals.

#### IF function[edit | edit source]

**if a<b then c else d**looks like**( a<b ? c : d)**in Seamly2D formulas.**if e<f then f else g**looks like**(e<f ? f : g)**- When d is another test, then it looks like:
**( a<b ? c : (e<f ? f : g) )**^{[2]}

#### _pi - π[edit | edit source]

**Definition:**π is equal to how many times a diameter can go around its circle. In Seamly it is taken to the fifth decimal place: 3.14159**Why:**To work with circles. For instance, if you want to make a circle of a certain circumference, you might use the equation`head_circ/_pi/2`

#### abs - absolute value[edit | edit source]

**Definition:***a nonnegative number equal in numerical value to a given real number.*^{[3]}In other words, "How far is this number from zero?" -2 is still absolutely 2 spaces from zero, even if it's on the wrong side of the tracks.

- Use:
**abs(***N*)^{[4]}always returns a positive value

**Why:**Because in some equations you might want the difference between two measurements to come back positive regardless of which is larger. I'm sure I've read about such occurrences somewhere.

#### acos - arcus cosine function working with radians[edit | edit source]

Use: **acos( N)** where -1≤

*N*≤1

#### acosD - arcus cosine function working with degrees[edit | edit source]

Use: **acosD( N)** where -1≤

*N*≤1

#### acosh - hyperbolic arcus cosine function[edit | edit source]

Use: **acosh( N)** where

*N*≥1

#### asin - arcus sine function working with radians[edit | edit source]

Use: **asin( N)** where -1≤

*N*≤1

#### asinD - arcus sine function working with degrees[edit | edit source]

Use: **asinD( N)** where -1≤

*N*≤1

#### asinh - hyperbolic arcus sine function[edit | edit source]

Use: **asinh( N)**

#### atan - arcus tangens function working with radians[edit | edit source]

Use: **atan( N)**

#### atanD - arcus tangens function working with degrees[edit | edit source]

Use: **atanD( N)**

#### atanh - hyperbolic arcur tangens function[edit | edit source]

Use: **atanh( N)** where -1<

*N*<1

#### avg - (average,) mean value of all arguments[edit | edit source]

Use: **avg( N1;N2;N3;…)**

#### cos - cosine function working with radians[edit | edit source]

Use: **cos( N)**

#### cosD - cosine function working with degrees[edit | edit source]

Use: **cosD( N)**

#### cosh - hyperbolic cosine[edit | edit source]

Use: **cosh( N)**

#### degTorad - converts degrees to radian[edit | edit source]

Use: **degTorad( N)**

#### exp - *e* raised to the power of x[edit | edit source]

Use: **exp( N)** If you have as much a clue what this is for as I do, may I suggest the Wikipedia article on the number

*e*?

#### fmod - Returns the floating-point remainder of numer/denom (rounded towards zero)[edit | edit source]

Use: **fmod( N;D)**

#### ln - logarithm to base e (2.71828…)[edit | edit source]

Use: **ln( N)** where N>0

#### log - logarithm to the base 10[edit | edit source]

Use: **log( N)** where N>0

#### log10 - logarithm to the base 10[edit | edit source]

Use: **log10( N)** where N>0

#### log2 - logarithm to the base 2[edit | edit source]

Use: **log2( N)** where N>0

#### max - max of all arguments[edit | edit source]

Use: **max( N;N1;N2;…)**

#### min - min of all arguments[edit | edit source]

Use: **min( N;N1;N2;…)**

#### radTodeg - converts radian to degrees[edit | edit source]

Use: **radTodeg( N)**

#### rint - round to nearest integer[edit | edit source]

Use: **rint( N)**

#### sign - sign function -1 if x<0; 1 if x>0[edit | edit source]

Use: **sign( N)**

#### sin - sine function working with radians[edit | edit source]

Use: **sin( N)**

#### sinD - sine function working with degrees[edit | edit source]

Use: **sinD( N)**

#### sinh - hyperbolic sine function[edit | edit source]

Use: **sinh( N)**

#### sqrt - square root of a value[edit | edit source]

Use: **sqrt( N)** where N≥0

#### sum - sum of all arguments[edit | edit source]

Use: **sum( N;N1;N2;…)**

#### tan - tangens function working with radians[edit | edit source]

Use: **tan( N)**

#### tanD - tangens function working with degrees[edit | edit source]

Use: **tanD( N)**

#### tanh - hyperbolic tangens function[edit | edit source]

Use: **tanh( N)**