[ Arithmetic | Reference Manual | Alphabetic Index ]

# denominator(+Number, -Result)

Extracts the denominator of the rational Number and unifies the resulting integer with Result.
Number
An integer or rational number.
Result
A variable or integer.

## Description

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

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

### Modes and Determinism

• denominator(+, -) is det

### Exceptions

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

## Examples

```Success:
denominator(3_4, 4).
denominator(9_12, 4).
denominator(-3_4, 4).
denominator(25, 1).
Fail:
denominator(3_4, 3).
denominator(3.1, 3).
denominator(3_4, 3_1).
denominator(3_4, r).
Error:
denominator(A, 3).                     (Error 4).
denominator(1_3 + 3_4, 12).            (Error 24).

```