ndd_projection, ndd_multi_projection


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

Synopsis

#include "lash-ndd.h"

ndd *ndd_projection(ndd *nd, uint4 p);
ndd *ndd_multi_projection(ndd *nd, uint4 p, uint4, u);

Description

The function ndd_projection computes an NDD representing the projection of the set represented by the NDD *nd over all the vector components but the one of index p (the first vector component has the index 0). The function ndd_multi_projection computes an NDD representing the projection of the set represented by the NDD *nd over all the vector components but the ones that are equal to u modulo p. The dimension of *nd must be at least equal to 1 and, for the function ndd_multi_projection, must be an integer multiple of p. These functions are only currently implemented for NDDs that operate serially.

These functions do not modify *nd.

Return values

In the case of success, these 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
Dimension mismatch.
LASH_ERR_BAD_VALUE
Invalid parameter value.
LASH_ERR_NOT_IMPL
Not (yet!) implemented.
LASH_ERR_BAD_TYPE
Bad type of NDD.
LASH_ERR_NO_MEM
Insufficient memory.
LASH_ERR_CORRUPT
Corrupt NDD.

See also

ndd_union, ndd_intersection, ndd_product.

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