# Is Less Equal

## Overview

![The Is Less Equal Node.](https://3009747178-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MIspkFTPkuGkv4UgQGs-1330240639%2Fuploads%2Fgit-blob-1a1b7f1c936f90fc84cafd2aa78ea959402280cb%2Fnode-is-less-equal.png?alt=media)

**Is Less Equal** is a ***Relational Expression*** **Node**, which compares two input values, and returns a **Boolean**, based on how the two values compare to each other in terms of *inequality*. The **Node** has two modes, determined by the `Mode` **Attribute**:

1. `IsLess` - Whether the value of `A` is less than the value of `B`.
2. `IsLessEqual` - Whether the value of `A` is less than *or* equal to the value of `B`.

*Relational expressions* are frequently used in combination with **Branch Nodes** and *logical operator* **Nodes** ([**AND**](https://docs.incari.com/incari-studio/2021.1/toolbox/math/boolean/and), [**OR**](https://docs.incari.com/incari-studio/2021.1/toolbox/math/boolean/or), and [**Negate**](https://docs.incari.com/incari-studio/2021.1/toolbox/math/boolean/negate)) to create *conditional logic*, and are essential for building complex systems.

Due to their nature, *inequality* operations only work for *numerical data types*.

## Attributes

| Attribute         | Type                                          | Description                                                             |
| ----------------- | --------------------------------------------- | ----------------------------------------------------------------------- |
| `Data Type`       | **Drop-down**                                 | The type of data that will be plugged into the `A` and `B` **Sockets**. |
| `Mode`            | **Drop-down**                                 | The type of expression that will be used when comparing the values.     |
| `Default Value A` | *Defined in the `Data Type`* ***Attribute**.* | The value of `A` if no value is provided via the **Node's** **Socket**. |
| `Default Value B` | *Defined in the `Data Type`* ***Attribute**.* | The value of `B` if no value is provided via the **Node's** **Socket**. |

## Inputs

| Input             | Type                                         | Description                                                           |
| ----------------- | -------------------------------------------- | --------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse**                                    | A standard input **Pulse**, to trigger the execution of the **Node**. |
| `A`               | *Defined in the* `Data Type` ***Attribute*** | The value to be compared with `B`.                                    |
| `B`               | *Defined in the* `Data Type` ***Attribute*** | The value to be compared with `A`.                                    |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard output **Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| `C`                | **Bool**  | Returns *true* if the value of `A` is less than (or equal to, depending on `Mode`) to `B`. If not, then it returns *false*.            |

## External Links

* [*Relational operator*](https://en.wikipedia.org/wiki/Relational_operator) on Wikipedia.
