##### 23.3.3.6 Arithmetic In Guile

The `(gdb)`

module provides several functions for performing
arithmetic on `<gdb:value>`

objects.
The arithmetic is performed as if it were done by the target,
and therefore has target semantics which are not necessarily
those of Scheme. For example operations work with a fixed precision,
not the arbitrary precision of Scheme.

Wherever a function takes an integer or pointer as an operand,
gdb will convert appropriate Scheme values to perform
the operation.

— Scheme Procedure:

**value-add**` a b`
— Scheme Procedure:

**value-sub**` a b`
— Scheme Procedure:

**value-mul**` a b`
— Scheme Procedure:

**value-div**` a b`
— Scheme Procedure:

**value-rem**` a b`
— Scheme Procedure:

**value-mod**` a b`
— Scheme Procedure:

**value-pow**` a b`
— Scheme Procedure:

**value-not**` a`
— Scheme Procedure:

**value-neg**` a`
— Scheme Procedure:

**value-pos**` a`
— Scheme Procedure:

**value-abs**` a`
— Scheme Procedure:

**value-lsh**` a b`
— Scheme Procedure:

**value-rsh**` a b`
— Scheme Procedure:

**value-min**` a b`
— Scheme Procedure:

**value-max**` a b`
— Scheme Procedure:

**value-lognot**` a`
— Scheme Procedure:

**value-logand**` a b`
— Scheme Procedure:

**value-logior**` a b`
— Scheme Procedure:

**value-logxor**` a b`
— Scheme Procedure:

**value=?**` a b`
— Scheme Procedure:

**value<?**` a b`
— Scheme Procedure:

**value<=?**` a b`
— Scheme Procedure:

**value>?**` a b`
— Scheme Procedure:

**value>=?**` a b`
Scheme does not provide a `not-equal`

function,
and thus Guile support in gdb does not either.