# function::fp_eq - Linux

## Overview

**fp_eq** is a command for comparing two floating-point numbers for equality with hardware floating-point precision. It’s primarily used to perform precise floating-point comparisons in situations where the standard equality operator (`==`

) might yield unexpected results due to floating-point precision issues.

## Syntax

```
fp_eq <number_1> <number_2>
```

`<number_1>`

and`<number_2>`

are floating-point numbers to be compared.

## Options/Flags

None.

## Examples

To compare two floating-point numbers for equality:

```
$ fp_eq 1.0 1.0000000000000002
False
```

In this example, **fp_eq** recognizes that the two numbers are not equal, even though they appear to be equal when viewed with insufficient precision.

To validate floating-point equality within a given tolerance:

```
$ fp_eq 0.123456789 0.123456788 0.000000001
True
```

Here, **fp_eq** considers the numbers equal within the specified tolerance of `0.000000001`

.

## Common Issues

**Floating-point rounding errors:**Floating-point arithmetic is inherently imprecise, which can lead to subtle differences in comparisons. Using**fp_eq**ensures comparisons are performed with hardware precision, minimizing the impact of rounding errors.

## Integration

**fp_eq** can be integrated into scripts or pipelines to perform precise floating-point comparisons. For example, it can be used to verify the equality of computed values or to filter data based on specific floating-point criteria.

## Related Commands

**bc:**A command-line calculator with arbitrary precision.**python**: A versatile programming language with advanced support for floating-point operations.