Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/src/test-cvec.c

    rdfd520b r9720945  
    44int main (void)
    55{
    6   uint_t i, window_size = 16;
    7   cvec_t * complex_vector = new_cvec(window_size);
    8   cvec_t * other_cvector = new_cvec(window_size);
     6  uint_t i, window_size = 16; // window size
     7  cvec_t * complex_vector = new_cvec (window_size); // input buffer
     8  uint_t rand_times = 4;
    99
    10   assert(cvec_norm_get_data(complex_vector) == complex_vector->norm);
    11   assert(cvec_phas_get_data(complex_vector) == complex_vector->phas);
    12   assert(complex_vector->length == window_size / 2 + 1);
     10  utils_init_random();
    1311
    14   // all elements are initialized to 0
     12  while (rand_times -- ) {
     13    // fill with random phas and norm
     14    for ( i = 0; i < complex_vector->length; i++ ) {
     15      complex_vector->norm[i] = ( 2. / RAND_MAX * random() - 1. );
     16      complex_vector->phas[i] = ( 2. / RAND_MAX * random() - 1. ) * M_PI;
     17    }
     18    // print the vector
     19    cvec_print(complex_vector);
     20  }
     21
     22  // set all vector elements to `0`
     23  cvec_norm_zeros(complex_vector);
    1524  for ( i = 0; i < complex_vector->length; i++ ) {
    1625    assert( complex_vector->norm[i] == 0. );
    17     assert( complex_vector->phas[i] == 0. );
     26    // assert( complex_vector->phas[i] == 0 );
    1827  }
    19 
    20   cvec_norm_set_sample(complex_vector, 2., 1);
    21   assert(cvec_norm_get_sample(complex_vector, 1));
    22 
    23   cvec_phas_set_sample(complex_vector, 2., 1);
    24   assert(cvec_phas_get_sample(complex_vector, 1));
    25 
    2628  cvec_print(complex_vector);
    2729
    28   // set all norm and phas elements to 0
    29   cvec_zeros(complex_vector);
    30   for ( i = 0; i < complex_vector->length; i++ ) {
    31     assert( complex_vector->norm[i] == 0. );
    32     assert( complex_vector->phas[i] == 0. );
    33   }
    34 
    35   // set all norm elements to 1
     30  // set all vector elements to `1`
    3631  cvec_norm_ones(complex_vector);
    3732  for ( i = 0; i < complex_vector->length; i++ ) {
    3833    assert( complex_vector->norm[i] == 1. );
     34    // assert( complex_vector->phas[i] == 0 );
    3935  }
     36  cvec_print(complex_vector);
    4037
    41   // set all norm elements to 0
     38  cvec_zeros(complex_vector);
     39  cvec_phas_zeros(complex_vector);
    4240  cvec_norm_zeros(complex_vector);
    43   for ( i = 0; i < complex_vector->length; i++ ) {
    44     assert( complex_vector->norm[i] == 0. );
    45   }
     41  cvec_norm_ones(complex_vector);
     42  cvec_phas_ones(complex_vector);
     43  cvec_copy(complex_vector, complex_vector);
    4644
    47   // set all phas elements to 1
    48   cvec_phas_ones(complex_vector);
    49   for ( i = 0; i < complex_vector->length; i++ ) {
    50     assert( complex_vector->phas[i] == 1. );
    51   }
    52 
    53   // set all phas elements to 0
    54   cvec_phas_zeros(complex_vector);
    55   for ( i = 0; i < complex_vector->length; i++ ) {
    56     assert( complex_vector->phas[i] == 0. );
    57   }
    58 
    59   cvec_copy(complex_vector, other_cvector);
    60   // copy to self
    61   cvec_copy(complex_vector, complex_vector);
    62   // copy to a different size fails
    63   del_cvec(other_cvector);
    64   other_cvector = new_cvec(window_size + 2);
    65   cvec_copy(complex_vector, other_cvector);
    66 
    67   if (complex_vector)
    68     del_cvec(complex_vector);
    69   if (other_cvector)
    70     del_cvec(other_cvector);
    71 
    72   // wrong parameters
    73   assert(new_cvec(-1) == NULL);
    74   assert(new_cvec(0) == NULL);
    75 
     45  // destroy it
     46  del_cvec(complex_vector);
    7647  return 0;
    7748}
Note: See TracChangeset for help on using the changeset viewer.