# Building blocks reference
URL: https://docs.datarobot.com/en/docs/reference/pred-ai-ref/eureqa-ref/eureqa-reference.html

> Provides the definitions and usage of all building blocks available to Eureqa models.

# Building blocks reference

This page provides the definitions and usage of all building blocks available to Eureqa models. To access further information about building block configuration, click the Documentation link provided in any Eureqa model blueprint (found in the upper right corner of any building block under the Advanced Tuning tab).

## Arithmetic

| Building Block | Definition | Usage |
| --- | --- | --- |
| Addition | Returns the sum of x and y. | x+y or add(x,y) |
| Constant | c is a real valued constant. | c |
| Division | Returns the quotient of x and y. y must be non-zero. | x/y or div(x,y) |
| Input Variable | x is a variable in your prepared dataset. | x |
| Integer Constant | c is an integer constant. | c |
| Multiplication | Returns the product of x and y. | x*y or mul(x,y) |
| Negation | Returns the inverse of x. | -x |
| Subtraction | Returns the difference of x and y. | x-y or sub(x,y) |

## Exponential

| Building Block | Definition | Usage |
| --- | --- | --- |
| Exponential | Returns e^x. | exp(x) |
| Factorial | Returns the product of all positive integers from 1 to x. | factorial(x) or x! |
| Natural Logarithm | Returns the natural logarithm (base e) of x. | log(x) |
| Power | Returns x raised to the power of y. x and y can be any expression. | x^y or pow(x,y) |
| Square Root | Returns the square root of x. x must be positive. | sqrt(x) |

## Squashing functions

Squashing functions take a continuous input variable and map it to a constrained output range.

Recommended use: Depending on the shape of the particular squashing function, that function may be useful in identifying transition points in the data, and/or limiting the total impact of a particular term.

| Building Block | Definition | Usage |
| --- | --- | --- |
| Complementary Error Function | 1.0 - erf(x) where erf(x) is the integral of the normal distribution. Returns a value between 2 and 0. | erfc(x) |
| Error Function | Integral of the normal distribution. Returns a value between -1 and +1. | erf(x) |
| Gaussian Function | Returns exp(-x^2). This is a bell-shaped squashing function. | gauss(x) |
| Hyperbolic Tangent | The hyperbolic tangent of x. Hyperbolic tangent is a common squashing function that returns a value between -1 and +1. | tanh(x) |
| Logistic Function | Returns 1/(1+exp(-x)). This is a common sigmoid (s-shaped) squashing function that returns a value between 0 and 1. | logistic(x) |
| Step Function | Returns 1 if x is positive, 0 otherwise. | step(x) |
| Sign | Returns -1 if x is negative, +1 if x is positive, and 0 if x is zero. | sgn(x) |

## Comparison/Boolean functions

| Building Block | Definition | Usage |
| --- | --- | --- |
| Equal To | Returns 1 if x is numerically equal to y, 0 otherwise. | equal(x,y) or x=y |
| Greater Than | Returns 1 if x>y, 0 otherwise. | greater(x,y) or x>y |
| Greater Than or Equal To | Returns 1 if x>=y, 0 otherwise. | greater_or_equal(x,y) or x>=y |
| If-Then-Else | Returns y if x is greater than 0, z otherwise. If x is nan, the function returns z. | if(x,y,z) |
| Less Than | Returns 1 if x<y, 0 otherwise. | less(x,y) or x<y |
| Less Than or Equal To | Returns 1 if x<=y, 0 otherwise. | less_or_equal(x,y) or x<= y |
| Logical And | Returns 1 if both x and y are greater than 0, 0 otherwise. | and(x,y) |
| Logical Exclusive Or | Returns 1 if (x<=0 and y>0) or (x>0 and y<=0), 0 otherwise. | xor(x,y) |
| Logical Not | Returns 0 if x is greater than 0, 1 otherwise. | not( x ) |
| Logical Or | Returns 1 if either x or y are greater than 0, 0 otherwise. | or(x,y) |

## Trigonometric functions

Trigonometric functions are functions of an angle; they relate the angles of a triangle to the length of its sides.

Recommended use: When modeling data from physical systems containing angles as inputs.

| Building Block | Definition | Usage |
| --- | --- | --- |
| Cosine | The standard trigonometric cosine function. The angle (x) is in radians. | cos(x) |
| Hyperbolic Cosine | The standard trigonometric hyperbolic cosine function. | cosh(x) |
| Hyperbolic Sine | The standard trigonometric hyperbolic sine function. | sinh(x) |
| Sine | The standard trigonometric sine function. The angle (x) is in radians. | sin(x) |
| Tangent | The standard trigonometric tangent function. The angle (x) is in radians. | tan(x) |

## Inverse trigonometric functions

| Building Block | Definition | Usage |
| --- | --- | --- |
| Arccosine | The standard trigonometric arccosine function. | acos(x) |
| Arcsine | The standard trigonometric arcsine function. | asin(x) |
| Arctangent | The standard trigonometric arctangent function. | atan(x) |
| Inverse Hyperbolic Cosine | The standard inverse hyperbolic cosine function. | acosh(x) |
| Inverse Hyperbolic Sine | The standard inverse hyperbolic sine function. | asinh(x) |
| Inverse Hyperbolic Tangent | The standard inverse hyperbolic tangent function. | atanh(x) |
| Two-Argument Arctangent | The standard trigonometric two-argument arctangent function. | atan2(y,x) |

## Other functions

| Building Block | Definition | Usage |
| --- | --- | --- |
| Absolute Value | Returns the positive value of x, without regard for its sign. | abs(x) |
| Ceiling | Returns the smallest integer not less than x. | ceil(x) |
| Floor | Returns the largest integer not greater than x. | floor(x) |
| Maximum | Returns the maximum (signed) result of x and y. | max(x,y) |
| Minimum | Returns the minimum (signed) result of x and y. | min(x,y) |
| Modulo | Returns the remainder of x/y. | mod(x,y) |
| Round | Returns an integer of x rounded to the nearest integer. | round(x) |

---
