ndd_image_by_star_transf


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

Synopsis

#include "lash-ndd.h"

ndd *ndd_image_by_star_transf(ndd *nd, linear_transf *tr);

Description

This function computes the image of the set represented by the NDD *nd by the closure of the linear transformation *tr (i.e., the image of that set by an unbounded number of iterations of *tr).

This function does not modify *nd or *tr.

Return values

In the case of success, this function returns a pointer to a newly created NDD. In the case of an error, it returns a NULL pointer and sets lash_errno.

Diagnostics

LASH_ERR_NOT_INIT
The package has not been initialized.
LASH_ERR_DIMENSION
Dimension mismatch.
LASH_ERR_NO_MEM
Not enough memory.
LASH_ERR_OVERFLOW
Arithmetic overflow.
LASH_ERR_ITERATION
The linear transformation is not always iterable.
LASH_ERR_NOT_IMPL
Closures that cannot be expressed in Presburger arithmetic are not (yet!) implemented.
LASH_ERR_CORRUPT
Corrupt transformation structure.

See also

linear_transf, ndd_definable_closure.

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