#include "lash-ndd.h"
ndd *ndd_product(ndd *nd1, ndd *nd2);
This function computes an NDD representing the Cartesian
product
of the sets represented by the two NDDs
*nd1 and *nd2. These two NDDs must
use the same base and operate in the same direction.
This function does not modify *nd1 or *nd2.
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.
- LASH_ERR_NOT_INIT
- The package has not been initialized.
- LASH_ERR_BASE
- Base mismatch.
- LASH_ERR_BAD_TYPE
- Direction mismatch.
- LASH_ERR_ALPH_SIZE
- The result cannot be constructed, for the alphabet
of the underlying automaton is too large.
- LASH_ERR_NO_MEM
- Insufficient memory.
- LASH_ERR_CORRUPT
- Corrupt NDD.
ndd_union,
ndd_intersection