cat_vector

Digital Signal Processing Library

Voice Lab

Program name: cat_vector

Language: C

In file: vector_lib.c

Objective: Concatenate two arrays of vectors

Usage: int cat_vector(double ***vector, double **vector_data_ptr, int vector_width,\ int num_vectors_o, int *number_vectors_max, double **vector_i, int num_vectors_i);

Parameters:

  • vector - The pointer to the vector array
  • vector_data_ptr - Pointer to the actual data - Auxiliary pointer
  • vectro_width - The number of elements in each vector (usually around 12)
  • num_vectors - Number of vectors in array
  • number_vectors_max - Number of elements allocate in memory
  • vector_i - Input vector to add to "vector" array
  • num_vectors - number of vectors in input vector array
Return
  • number of vectors in "vector" array

Mathematical Description:

Comments:

User Comments

Code:

int cat_vector(double ***vector, double **vector_data_ptr, int vector_width,\
 int num_vectors_o, int *number_vectors_max, double **vector_i, int num_vectors_i)
{
int i, j;

for(i = 0; i < num_vectors_i; i++) {
if(num_vectors_o == (*number_vectors_max)) {
/* increase maximum number of vectors permitted */
matrix_reallocate(&(*vector), &(*vector_data_ptr), vector_width, number_vectors_max);
}
vector_copy(vector_i[i], vector_width, &((*vector)[num_vectors_o]));
num_vectors_o++;
}
return(num_vectors_o);
}