ndd_create_transf_info


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

Synopsis

#include "lash-ndd.h"

linear_tr_info *ndd_create_transf_info(linear_transf *tr, uint1 r, int msdf);

Description

This function creates a specific structure associated to the linear transformation *tr, whose purpose is to speed up the computation of the image of sets by *tr.

This structure, which is not directly visible to the user, is actually a transducer, i.e., an NDD accepting all the vectors of the form [x0, x0', x1, x1', ..., xn-1, xn-1'], where [x0', x1', ..., xn-1'] = tr([x0, x1, ..., xn-1]). The numeration base used for creating that NDD is r. Numbers are accepted most significant digit first if msdf has a nonzero value, and least significant digit first otherwise.

This function does not modify *tr.

Return values

In the case of success, this function returns a pointer to a newly created transformation information structure. 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_NO_MEM
Not enough memory.
LASH_ERR_BAD_VALUE
Invalid parameter value.
LASH_ERR_CORRUPT
Corrupt transformation structure.

See also

linear_transf, linear_tr_info, ndd_image_by_transf_info, ndd_transf_info_free.

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