ndd_base_expand, ndd_base_reduce


[ Synopsis | Description | Return values | Diagnostics | See also | Back to the NDD package documentation ]

Synopsis

#include "lash-ndd.h"

ndd *ndd_base_expand(ndd *nd);
ndd *ndd_base_reduce(ndd *nd);

Description

The function ndd_base_expand computes an NDD representing the set { rk x | x in S and k in N }, where S is the subset of Z represented by the NDD *nd. The function ndd_base_reduce computes an NDD representing the set { x / rk | x in S and k in N }. For both functions, the NDD *nd is supposed to be of dimension 1 and to use the numeration base r.

Warning: The use of these functions is strongly discouraged, since they might no longer appear in future releases of the package.

These functions do not modify *nd.

Return values

In the case of success, the functions return a pointer to a newly created NDD. In the case of an error, they return a NULL pointer and set lash_errno.

Diagnostics

LASH_ERR_NOT_INIT
The package has not been initialized.
LASH_ERR_DIMENSION
The dimension is not 1.
LASH_ERR_NO_MEM
Insufficient memory.
LASH_ERR_CORRUPT
Corrupt NDD.

See also

ndd_create_equation.

[ Synopsis | Description | Return values | Diagnostics | See also | Back to the NDD package documentation ]