The C arithmetic functions below always takes two arguments, while the
Scheme functions can take an arbitrary number. When you need to
invoke them with just one argument, for example to compute the
equivalent od `(- x)`

, pass `SCM_UNDEFINED`

as the second
one: `scm_difference (x, SCM_UNDEFINED)`

.

— Scheme Procedure: **+**` z1 ...`

— C Function:**scm_sum** (`z1, z2`)

— C Function:

Return the sum of all parameter values. Return 0 if called without any parameters.

— Scheme Procedure: **-**` z1 z2 ...`

— C Function:**scm_difference** (`z1, z2`)

— C Function:

If called with one argument

z1, -z1is returned. Otherwise the sum of all but the first argument are subtracted from the first argument.

— Scheme Procedure: *****` z1 ...`

— C Function:**scm_product** (`z1, z2`)

— C Function:

Return the product of all arguments. If called without arguments, 1 is returned.

— Scheme Procedure: **/**` z1 z2 ...`

— C Function:**scm_divide** (`z1, z2`)

— C Function:

Divide the first argument by the product of the remaining arguments. If called with one argument

z1, 1/z1is returned.

— Scheme Procedure: **abs**` x`

— C Function:**scm_abs** (`x`)

— C Function:

Return the absolute value of

x.

xmust be a number with zero imaginary part. To calculate the magnitude of a complex number, use`magnitude`

instead.

— Scheme Procedure: **max**` x1 x2 ...`

— C Function:**scm_max** (`x1, x2`)

— C Function:

Return the maximum of all parameter values.

— Scheme Procedure: **min**` x1 x2 ...`

— C Function:**scm_min** (`x1, x2`)

— C Function:

Return the minimum of all parameter values.

— Scheme Procedure: **truncate**` x`

— C Function:**scm_truncate_number** (`x`)

— C Function:

Round the inexact number

xtowards zero.