ndd_interleave_z[ Synopsis | Description | Return values | Diagnostics | See also | Back to the NDD package documentation ] |
#include "lash-ndd.h"
ndd *ndd_interleave_z(ndd *nd, uint4 nl, uint4 nr);
This function takes as arguments an NDD *nd representing a set S of dimension n as well as two integers nl and nr. Only one of these two integers may be different from zero, and this nonzero integer (if any) must divide n.
If nl is different from zero, then the function computes an NDD representing the set of all the vectors of dimension n(nl+1)/nl of the form (x1, x2, ..., xnl, y1, xnl+1, xnl+2, ..., x2nl, y2, ..., xn-nl+1, xn-nl+2, ..., xn, yn/nl), where (x1, x2, ..., xn) is a vector in S, and (y1, y2, ..., yn/nl) is arbitrary.
If nr is different from zero, then the function computes an NDD representing the set of all the vectors of dimension n(nr+1)/nr of the form (y1, x1, x2, ..., xnr, y2, xnr+1, xnr+2, ..., x2nr, ..., yn/nr, xn-nr+1, xn-nr+2, ..., xn), where (x1, x2, ..., xn) is a vector in S, and (y1, y2, ..., yn/nr) is arbitrary.
This function does not modify *nd.
[ Synopsis | Description | Return values | Diagnostics | See also | Back to the NDD package documentation ] |