- Timestamp:
- Dec 21, 2018, 12:44:35 PM (6 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/timestretch, fix/ffmpeg5, master
- Children:
- 9e2c1a1
- Parents:
- 2b1b38a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/src/test-cvec.c
r2b1b38a rdfd520b 4 4 int main (void) 5 5 { 6 uint_t i, window_size = 16; // window size7 cvec_t * complex_vector = new_cvec (window_size); // input buffer8 uint_t rand_times = 4;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); 9 9 10 utils_init_random(); 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); 11 13 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); 14 // all elements are initialized to 0 15 for ( i = 0; i < complex_vector->length; i++ ) { 16 assert( complex_vector->norm[i] == 0. ); 17 assert( complex_vector->phas[i] == 0. ); 20 18 } 21 19 22 // set all vector elements to `0` 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 26 cvec_print(complex_vector); 27 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 36 cvec_norm_ones(complex_vector); 37 for ( i = 0; i < complex_vector->length; i++ ) { 38 assert( complex_vector->norm[i] == 1. ); 39 } 40 41 // set all norm elements to 0 23 42 cvec_norm_zeros(complex_vector); 24 43 for ( i = 0; i < complex_vector->length; i++ ) { 25 44 assert( complex_vector->norm[i] == 0. ); 26 // assert( complex_vector->phas[i] == 0 );27 45 } 28 cvec_print(complex_vector);29 46 30 // set all vector elements to `1`31 cvec_ norm_ones(complex_vector);47 // set all phas elements to 1 48 cvec_phas_ones(complex_vector); 32 49 for ( i = 0; i < complex_vector->length; i++ ) { 33 assert( complex_vector->norm[i] == 1. ); 34 // assert( complex_vector->phas[i] == 0 ); 50 assert( complex_vector->phas[i] == 1. ); 35 51 } 36 cvec_print(complex_vector);37 52 38 cvec_zeros(complex_vector);53 // set all phas elements to 0 39 54 cvec_phas_zeros(complex_vector); 40 cvec_norm_zeros(complex_vector); 41 cvec_norm_ones(complex_vector); 42 cvec_phas_ones(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 43 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); 44 66 45 // destroy it 46 del_cvec(complex_vector); 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 47 76 return 0; 48 77 }
Note: See TracChangeset
for help on using the changeset viewer.