ndd_union, ndd_merge


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

Synopsis

#include "lash-ndd.h"

ndd *ndd_union(ndd *nd1, ndd *nd2);
int ndd_merge(ndd *nd1, ndd *nd2);

Description

These functions compute an NDD representing the union of the sets represented by the two NDDs *nd1 and *nd2. These two NDDs must use the same base, the same dimension, and operate in the same direction.

The function ndd_union does not modify *nd1 or *nd2. The function ndd_merge replaces *nd1 by the result of the operation, and does not modify *nd2.

Return values

In the case of success, the function ndd_union returns a pointer to a newly created NDD. In the case of an error, it returns a NULL pointer and sets lash_errno. In the case of success, the function ndd_merge returns 0. In the case of an error, it returns -1 and sets lash_errno.

Diagnostics

LASH_ERR_NOT_INIT
The package has not been initialized.
LASH_ERR_BASE
Base mismatch.
LASH_ERR_DIMENSION
Dimension mismatch.
LASH_ERR_BAD_TYPE
Direction mismatch.
LASH_ERR_NO_MEM
Insufficient memory.
LASH_ERR_CORRUPT
Corrupt NDD.

See also

ndd_difference, ndd_intersection

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