22 #ifndef __SpectralDescriptors_H__
23 #define __SpectralDescriptors_H__
172 if(a.HasMean() && b.HasMean() )
174 if(b.GetMean()>a.GetMean())
175 tmpD.SetMean(b.GetMean());
177 if(a.HasGeometricMean() && b.HasGeometricMean() )
179 if(b.GetGeometricMean()>a.GetGeometricMean())
180 tmpD.SetGeometricMean(b.GetGeometricMean());
182 if(a.HasEnergy() && b.HasEnergy() )
184 if(b.GetEnergy()>a.GetEnergy())
185 tmpD.SetEnergy(b.GetEnergy());
187 if(a.HasCentroid() && b.HasCentroid() )
189 if(b.GetCentroid()>a.GetCentroid())
190 tmpD.SetCentroid(b.GetCentroid());
192 if(a.HasMoment2() && b.HasMoment2() )
194 if(b.GetMoment2()>a.GetMoment2())
195 tmpD.SetMoment2(b.GetMoment2());
197 if(a.HasMoment3() && b.HasMoment3() )
199 if(b.GetMoment3()>a.GetMoment3())
200 tmpD.SetMoment3(b.GetMoment3());
202 if(a.HasMoment4() && b.HasMoment4() )
204 if(b.GetMoment4()>a.GetMoment4())
205 tmpD.SetMoment4(b.GetMoment4());
207 if(a.HasMoment5() && b.HasMoment5())
209 if(b.GetMoment5()>a.GetMoment5())
210 tmpD.SetMoment5(b.GetMoment5());
212 if(a.HasMoment6() && b.HasMoment6() )
214 if(b.GetMoment6()>a.GetMoment6())
215 tmpD.SetMoment6(b.GetMoment6());
217 if(a.HasFlatness() && b.HasFlatness() )
219 if(b.GetFlatness()>a.GetFlatness())
220 tmpD.SetFlatness(b.GetFlatness());
222 if(a.HasMagnitudeKurtosis() && b.HasMagnitudeKurtosis() )
224 if(b.GetMagnitudeKurtosis()>a.GetMagnitudeKurtosis())
225 tmpD.SetMagnitudeKurtosis(b.GetMagnitudeKurtosis());
227 if(a.HasMaxMagFreq() && b.HasMaxMagFreq() )
229 if(b.GetMaxMagFreq()>a.GetMaxMagFreq())
230 tmpD.SetMaxMagFreq(b.GetMaxMagFreq());
232 if(a.HasLowFreqEnergyRelation() && b.HasLowFreqEnergyRelation() )
234 if(b.GetLowFreqEnergyRelation()>a.GetLowFreqEnergyRelation())
235 tmpD.SetLowFreqEnergyRelation(b.GetLowFreqEnergyRelation());
237 if(a.HasSpread() && b.HasSpread() )
239 if(b.GetSpread()>a.GetSpread())
240 tmpD.SetSpread(b.GetSpread());
242 if(a.HasMagnitudeSkewness() && b.HasMagnitudeSkewness() )
244 if(b.GetMagnitudeSkewness()>a.GetMagnitudeSkewness())
245 tmpD.SetMagnitudeSkewness(b.GetMagnitudeSkewness());
247 if(a.HasRolloff() && b.HasRolloff() )
249 if(b.GetRolloff()>a.GetRolloff())
250 tmpD.SetRolloff(b.GetRolloff());
252 if(a.HasSlope() && b.HasSlope() )
254 if(b.GetSlope()>a.GetSlope())
255 tmpD.SetSlope(b.GetSlope());
257 if(a.HasHighFrequencyContent() && b.HasHighFrequencyContent() )
259 if(b.GetHighFrequencyContent()>a.GetHighFrequencyContent())
260 tmpD.SetHighFrequencyContent(b.GetHighFrequencyContent());
262 if(a.HasBandDescriptors() && b.HasBandDescriptors() )
269 if(a.HasMFCC() && b.HasMFCC() )
283 if(a.HasMean() && b.HasMean() )
285 if(b.GetMean()<a.GetMean())
286 tmpD.SetMean(b.GetMean());
288 if(a.HasGeometricMean() && b.HasGeometricMean() )
290 if(b.GetGeometricMean()<a.GetGeometricMean())
291 tmpD.SetGeometricMean(b.GetGeometricMean());
293 if(a.HasEnergy() && b.HasEnergy() )
295 if(b.GetEnergy()<a.GetEnergy())
296 tmpD.SetEnergy(b.GetEnergy());
298 if(a.HasCentroid() && b.HasCentroid() )
300 if(b.GetCentroid()<a.GetCentroid())
301 tmpD.SetCentroid(b.GetCentroid());
303 if(a.HasMoment2() && b.HasMoment2() )
305 if(b.GetMoment2()<a.GetMoment2())
306 tmpD.SetMoment2(b.GetMoment2());
308 if(a.HasMoment3() && b.HasMoment3() )
310 if(b.GetMoment3()<a.GetMoment3())
311 tmpD.SetMoment3(b.GetMoment3());
313 if(a.HasMoment4() && b.HasMoment4() )
315 if(b.GetMoment4()<a.GetMoment4())
316 tmpD.SetMoment4(b.GetMoment4());
318 if(a.HasMoment5() && b.HasMoment5())
320 if(b.GetMoment5()<a.GetMoment5())
321 tmpD.SetMoment5(b.GetMoment5());
323 if(a.HasMoment6() && b.HasMoment6() )
325 if(b.GetMoment6()<a.GetMoment6())
326 tmpD.SetMoment6(b.GetMoment6());
328 if(a.HasFlatness() && b.HasFlatness() )
330 if(b.GetFlatness()<a.GetFlatness())
331 tmpD.SetFlatness(b.GetFlatness());
333 if(a.HasMagnitudeKurtosis() && b.HasMagnitudeKurtosis() )
335 if(b.GetMagnitudeKurtosis()<a.GetMagnitudeKurtosis())
336 tmpD.SetMagnitudeKurtosis(b.GetMagnitudeKurtosis());
338 if(a.HasMaxMagFreq() && b.HasMaxMagFreq() )
340 if(b.GetMaxMagFreq()<a.GetMaxMagFreq())
341 tmpD.SetMaxMagFreq(b.GetMaxMagFreq());
343 if(a.HasLowFreqEnergyRelation() && b.HasLowFreqEnergyRelation() )
345 if(b.GetLowFreqEnergyRelation()<a.GetLowFreqEnergyRelation())
346 tmpD.SetLowFreqEnergyRelation(b.GetLowFreqEnergyRelation());
348 if(a.HasSpread() && b.HasSpread() )
350 if(b.GetSpread()<a.GetSpread())
351 tmpD.SetSpread(b.GetSpread());
353 if(a.HasMagnitudeSkewness() && b.HasMagnitudeSkewness() )
355 if(b.GetMagnitudeSkewness()<a.GetMagnitudeSkewness())
356 tmpD.SetMagnitudeSkewness(b.GetMagnitudeSkewness());
358 if(a.HasRolloff() && b.HasRolloff() )
360 if(b.GetRolloff()<a.GetRolloff())
361 tmpD.SetRolloff(b.GetRolloff());
363 if(a.HasSlope() && b.HasSlope() )
365 if(b.GetSlope()<a.GetSlope())
366 tmpD.SetSlope(b.GetSlope());
368 if(a.HasHighFrequencyContent() && b.HasHighFrequencyContent() )
370 if(b.GetHighFrequencyContent()<a.GetHighFrequencyContent())
371 tmpD.SetHighFrequencyContent(b.GetHighFrequencyContent());
373 if(a.HasBandDescriptors() && b.HasBandDescriptors() )
379 if(a.HasMFCC() && b.HasMFCC() )