Functions

From Seamly
Revision as of 01:08, 29 May 2020 by Pneumarian (talk | contribs) (→‎abs - absolute value: added definition, added reason to use, experimented with formatting change.)

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]

The Functions table in the Measurement Dialog is an excellent place to find most of the available algebraic functions of Seamly.
A picture of the Functions table.

Basic Functions

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

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

  • 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]

abs - absolute value

  • 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

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

acosD - arcus cosine function working with degrees

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

acosh - hyperbolic arcus cosine function

Use: acosh(N) where N≥1

asin - arcus sine function working with radians

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

asinD - arcus sine function working with degrees

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

asinh - hyperbolic arcus sine function

Use: asinh(N)

atan - arcus tangens function working with radians

Use: atan(N)

atanD - arcus tangens function working with degrees

Use: atanD(N)

atanh - hyperbolic arcur tangens function

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

avg - (average,) mean value of all arguments

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

cos - cosine function working with radians

Use: cos(N)

cosD - cosine function working with degrees

Use: cosD(N)

cosh - hyperbolic cosine

Use: cosh(N)

degTorad - converts degrees to radian

Use: degTorad(N)

exp - e raised to the power of x

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)

Use: fmod(N;D)

ln - logarithm to base e (2.71828…)

Use: ln(N) where N>0

log - logarithm to the base 10

Use: log(N) where N>0

log10 - logarithm to the base 10

Use: log10(N) where N>0

log2 - logarithm to the base 2

Use: log2(N) where N>0

max - max of all arguments

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

min - min of all arguments

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

radTodeg - converts radian to degrees

Use: radTodeg(N)

rint - round to nearest integer

Use: rint(N)

sign - sign function -1 if x<0; 1 if x>0

Use: sign(N)

sin - sine function working with radians

Use: sin(N)

sinD - sine function working with degrees

Use: sinD(N)

sinh - hyperbolic sine function

Use: sinh(N)

sqrt - square root of a value

Use: sqrt(N) where N≥0

sum - sum of all arguments

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

tan - tangens function working with radians

Use: tan(N)

tanD - tangens function working with degrees

Use: tanD(N)

tanh - hyperbolic tangens function

Use: tanh(N)

Bibliography