comparison src/descriptors.c @ 146:baaa9d8b4d10

switched from single to double precision througout. closes #9
author Jamie Bullock <jamie@jamiebullock.com>
date Wed, 09 Jan 2013 12:45:29 +0000
parents e4f704649c50
children 71870680f7c1
comparison
equal deleted inserted replaced
145:2663eac093a5 146:baaa9d8b4d10
30 xtract_function_descriptor_t *xtract_make_descriptors(void) 30 xtract_function_descriptor_t *xtract_make_descriptors(void)
31 { 31 {
32 32
33 int f , F; 33 int f , F;
34 char *name, *p_name, *desc, *p_desc, *author; 34 char *name, *p_name, *desc, *p_desc, *author;
35 float *argv_min, *argv_max, *argv_def, *result_min, *result_max; 35 double *argv_min, *argv_max, *argv_def, *result_min, *result_max;
36 int *argc, *year, *argv_donor; 36 int *argc, *year, *argv_donor;
37 xtract_vector_t *data_format, *result_format; 37 xtract_vector_t *data_format, *result_format;
38 xtract_unit_t *data_unit, *argv_unit, *result_unit; 38 xtract_unit_t *data_unit, *argv_unit, *result_unit;
39 xtract_bool_t *is_scalar, *is_delta; 39 xtract_bool_t *is_scalar, *is_delta;
40 xtract_function_descriptor_t *fd, *d; 40 xtract_function_descriptor_t *fd, *d;
78 *argv_max = XTRACT_ANY; 78 *argv_max = XTRACT_ANY;
79 *argv_def = XTRACT_ANY; 79 *argv_def = XTRACT_ANY;
80 *argv_unit = XTRACT_DBFS; 80 *argv_unit = XTRACT_DBFS;
81 break; 81 break;
82 case XTRACT_SPECTRAL_INHARMONICITY: 82 case XTRACT_SPECTRAL_INHARMONICITY:
83 *argv_min = 0.f; 83 *argv_min = 0.0;
84 *argv_max = XTRACT_SR_UPPER_LIMIT / 2; 84 *argv_max = XTRACT_SR_UPPER_LIMIT / 2.0;
85 *argv_def = XTRACT_FUNDAMENTAL_DEFAULT; 85 *argv_def = XTRACT_FUNDAMENTAL_DEFAULT;
86 *argv_unit = XTRACT_HERTZ; 86 *argv_unit = XTRACT_HERTZ;
87 break; 87 break;
88 case XTRACT_F0: 88 case XTRACT_F0:
89 case XTRACT_FAILSAFE_F0: 89 case XTRACT_FAILSAFE_F0:
102 case XTRACT_ROLLOFF: 102 case XTRACT_ROLLOFF:
103 *argv_min = XTRACT_FFT_BANDS_MIN; 103 *argv_min = XTRACT_FFT_BANDS_MIN;
104 *argv_max = XTRACT_FFT_BANDS_MAX; 104 *argv_max = XTRACT_FFT_BANDS_MAX;
105 *argv_def = XTRACT_SPEC_BW_DEF ; 105 *argv_def = XTRACT_SPEC_BW_DEF ;
106 *argv_unit = XTRACT_HERTZ; 106 *argv_unit = XTRACT_HERTZ;
107 *(argv_min + 1) = 0.f; 107 *(argv_min + 1) = 0.0;
108 *(argv_max + 1) = 100.f; 108 *(argv_max + 1) = 100.0;
109 *(argv_def + 1) = 95.f; 109 *(argv_def + 1) = 95.0;
110 *(argv_unit + 1) = XTRACT_PERCENT; 110 *(argv_unit + 1) = XTRACT_PERCENT;
111 break; 111 break;
112 case XTRACT_PEAK_SPECTRUM: 112 case XTRACT_PEAK_SPECTRUM:
113 *argv_min = XTRACT_SR_LOWER_LIMIT / 2; 113 *argv_min = XTRACT_SR_LOWER_LIMIT / 2.0;
114 *argv_max = XTRACT_SR_UPPER_LIMIT / 2; 114 *argv_max = XTRACT_SR_UPPER_LIMIT / 2.0;
115 *argv_def = XTRACT_SR_DEFAULT / 2; 115 *argv_def = XTRACT_SR_DEFAULT / 2.0;
116 *argv_unit = XTRACT_HERTZ; 116 *argv_unit = XTRACT_HERTZ;
117 *(argv_min + 1) = 0.f; 117 *(argv_min + 1) = 0.0;
118 *(argv_max + 1) = 100.f ; 118 *(argv_max + 1) = 100.0 ;
119 *(argv_def + 1) = 10.f ; 119 *(argv_def + 1) = 10.0 ;
120 *(argv_unit + 1) = XTRACT_PERCENT; 120 *(argv_unit + 1) = XTRACT_PERCENT;
121 break; 121 break;
122 case XTRACT_HARMONIC_SPECTRUM: 122 case XTRACT_HARMONIC_SPECTRUM:
123 *argv_min = 0.f; 123 *argv_min = 0.0;
124 *argv_max = XTRACT_SR_UPPER_LIMIT / 2; 124 *argv_max = XTRACT_SR_UPPER_LIMIT / 2.0;
125 *argv_def = XTRACT_FUNDAMENTAL_DEFAULT; 125 *argv_def = XTRACT_FUNDAMENTAL_DEFAULT;
126 *argv_unit = XTRACT_HERTZ; 126 *argv_unit = XTRACT_HERTZ;
127 *(argv_min + 1) = 0.f; 127 *(argv_min + 1) = 0.0;
128 *(argv_max + 1) = 1.f ; 128 *(argv_max + 1) = 1.0 ;
129 *(argv_def + 1) = .1f ; 129 *(argv_def + 1) = .1 ;
130 *(argv_unit + 1) = XTRACT_NONE; 130 *(argv_unit + 1) = XTRACT_NONE;
131 break; 131 break;
132 case XTRACT_NOISINESS: 132 case XTRACT_NOISINESS:
133 case XTRACT_SKEWNESS: 133 case XTRACT_SKEWNESS:
134 case XTRACT_KURTOSIS: 134 case XTRACT_KURTOSIS:
1249 case XTRACT_F0: 1249 case XTRACT_F0:
1250 case XTRACT_FAILSAFE_F0: 1250 case XTRACT_FAILSAFE_F0:
1251 case XTRACT_HPS: 1251 case XTRACT_HPS:
1252 case XTRACT_ROLLOFF: 1252 case XTRACT_ROLLOFF:
1253 *result_unit = XTRACT_HERTZ; 1253 *result_unit = XTRACT_HERTZ;
1254 *result_min = 0.f; 1254 *result_min = 0.0;
1255 *result_max = XTRACT_SR_UPPER_LIMIT / 2; 1255 *result_max = XTRACT_SR_UPPER_LIMIT / 2.0;
1256 break; 1256 break;
1257 case XTRACT_ZCR: 1257 case XTRACT_ZCR:
1258 *result_unit = XTRACT_HERTZ; 1258 *result_unit = XTRACT_HERTZ;
1259 *result_min = 0.f; 1259 *result_min = 0.0;
1260 *result_max = XTRACT_ANY; 1260 *result_max = XTRACT_ANY;
1261 break; 1261 break;
1262 case XTRACT_ODD_EVEN_RATIO: 1262 case XTRACT_ODD_EVEN_RATIO:
1263 *result_unit = XTRACT_NONE; 1263 *result_unit = XTRACT_NONE;
1264 *result_min = 0.f; 1264 *result_min = 0.0;
1265 *result_max = 1.f; 1265 *result_max = 1.0;
1266 break; 1266 break;
1267 case XTRACT_FLATNESS_DB: 1267 case XTRACT_FLATNESS_DB:
1268 *result_unit = XTRACT_DBFS; 1268 *result_unit = XTRACT_DBFS;
1269 *result_min = XTRACT_ANY; /* FIX: check this */ 1269 *result_min = XTRACT_ANY; /* FIX: check this */
1270 *result_max = XTRACT_ANY; 1270 *result_max = XTRACT_ANY;