# Is Equal

## Overview

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

**Is 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 *equality*. The **Node** has two modes, determined by the `Mode` **Attribute**:

1. `IsEqual` - Are the two values equal in value.
2. `IsNotEqual` - Are the two values *not* equal in value.

*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.

## Attributes

### Inputs

| 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**  | <p>In <code>IsEqual</code> <code>Mode</code>: Returns <em>true</em> if <code>A</code> is equal to <code>B</code>. If not, then it returns <em>false</em>.</p><p>In <code>IsNotEqual</code> <code>Mode</code>: Returns <em>true</em> if <code>A</code> and <code>B</code> are not equal. Otherwise, it returns <em>false</em>.</p> |

## External Links

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