[ Arithmetic | Reference Manual | Alphabetic Index ]

# abs(+Number, -Result)

Unifies the absolute value of Number with Result.
Number
A number.
Result
Output: a number.

## Description

This predicate is used by the ECLiPSe compiler to expand evaluable arithmetic expressions. So the call to abs(Number, Result) is equivalent to
```    Result is abs(Number)
```
which should be preferred for portability.

Result is the absolute value of Number, and of the same type.

In coroutining mode, if Number is uninstantiated, the call to abs/2 is delayed until this variable is instantiated.

### Modes and Determinism

• abs(+, -) is det

### Exceptions

(4) instantiation fault
Number is not instantiated (non-coroutining mode only).
(24) number expected
Number is not of a numeric type.

## Examples

```    Result is abs(1).		% gives Result = 1
Result is abs(-5).		% gives Result = 5
Result is abs(-6.2).	% gives Result = 6.2

Result is abs(-0.6__-0.5).	% gives Result = 0.5__0.6
Result is abs(-0.2__0.1).	% gives Result = 0.0__0.2
```