int init_DS_Sequence(struct DS_Sequence* data);
This routine initializes the pointers for the data structure. It must be called for a particular declared structure before any other routine uses it.
int alloc_DS_Sequence(struct DS_Sequence* data, int
num_inpts,int num_outpts,
int max_patlen, int num_pats);
This routine allocates and zeros the arrays for a new data structure.
int dealloc_DS_Sequence(struct DS_Sequence* data);
This routine deallocates the space and essentially destroys an existing data structure.
int read_DS_Sequence(char* filename, struct DS_Sequence* data);
This routine reads the data from a file in the SEQUENCE file format into an existing data structure. A data structure pointer must be initialized but should not be allocated when passed to this routine, as it performs its own allocation.
int write_DS_Sequence(char* filename, struct DS_Sequence* data);
This routine writes a SEQUENCE data structure out to the given filename in the SEQUENCE file format.
int copy_DS_Sequence(struct DS_Sequence* oldptr, struct DS_Sequence* newptr);
This routine copies a data structure. The copy data structure pointer must be initialized but should not be allocated when passed to this routine, as it performs its own allocation.
int shuffle_DS_Sequence(struct DS_Sequence* data,
double*** old_inpt_ptrs,
double** old_outpt_ptrs, int* old_patlen);
This routine randomly reorders the patterns in the data structure. The input vectors within each pattern are not reordered. This is used to alter the presentation order of the patterns.
int append_DS_Sequence(struct DS_Sequence* newdata, struct DS_Sequence* store);
This routine appends the data from one structure to another. The two structures must have the same input and output dimensionality.
int Sequence_to_Static(struct DS_Sequence* x, struct
DS_Static* y);
This routine converts a SEQUENCE data structure into a STATIC data structure. The output vector for each pattern is duplicated for each input vector and the pattern length information is lost.