package de.gaalop.dfg;
/**
* An enumeration of math functions that this compiler supports without embedding
* a library. A backend does not need to implement these functions itself but
* can import a library to implement them.
* <p/>
* All mathematical functions in this enumeration take one double argument and return
* one double result.
*
* @see de.gaalop.dfg.MathFunctionCall
*/
public enum MathFunction {
/**
* This mathematical function returns the absolute value of its argument.
*/
ABS,
/**
* Evaluates the arc cosine of an angle.
*/
ACOS,
/**
* Evaluates the arc sine of an angle.
*/
ASIN,
/**
* Evaluates the arc tangent of an angle.
*/
ATAN,
/**
* Evaluates the smallest integer value that is larger or equal to the given value.
*/
CEIL,
/**
* Evaluates the cosine of the given angle.
*/
COS,
/**
* Evaluates the exponential of a scalar value.
*/
EXP,
/**
* Evaluates the factorial of an integer number.
*/
FACT,
/**
* Evaluates the largest integer value that is smaller or equal to the given value.
*/
FLOOR,
/**
* Evaluates the natural logarithm of a value.
*/
LOG,
/**
* Evaluates the sine of an angle.
*/
SIN,
/**
* Evaluates the square root of a value.
*/
SQRT,
/**
* Evaluates the tangent of an angle.
*/
TAN,
/**
* Inverts the multivector.
*/
INVERT;
public String toString() {
return super.toString().toLowerCase();
}
}