void Pitch_getMaximumAndTime (Pitch me, double tmin, double tmax, int unit, bool interpolate, double *return_maximum, double *return_timeOfMaximum) { Sampled_getMaximumAndX (me, tmin, tmax, Pitch_LEVEL_FREQUENCY, unit, interpolate, return_maximum, return_timeOfMaximum); if (! doesUnitAllowNegativeValues (unit) && return_maximum && *return_maximum <= 0.0) { *return_maximum = NUMundefined; // unlikely } }
double Sampled_getXOfMaximum (Sampled me, double xmin, double xmax, long ilevel, int unit, int interpolate) { double time; Sampled_getMaximumAndX (me, xmin, xmax, ilevel, unit, interpolate, NULL, & time); return time; }
void Formant_getMaximumAndTime (Formant me, int iformant, double tmin, double tmax, int bark, int interpolate, double *return_maximum, double *return_timeOfMaximum) { Sampled_getMaximumAndX (me, tmin, tmax, iformant << 1, bark, interpolate, return_maximum, return_timeOfMaximum); if (return_maximum && *return_maximum <= 0.0) *return_maximum = NUMundefined; /* Unlikely. */ }
double Sampled_getMaximum (Sampled me, double xmin, double xmax, long ilevel, int unit, int interpolate) { double maximum; Sampled_getMaximumAndX (me, xmin, xmax, ilevel, unit, interpolate, & maximum, NULL); return maximum; }