sound/disc_sys.hxx, ymz770: Use std::clamp for clamping

This commit is contained in:
AJR 2021-09-17 14:16:07 -04:00
parent b6b740e0a6
commit e5baf6f1d7
2 changed files with 8 additions and 10 deletions

View File

@ -98,8 +98,7 @@ DISCRETE_STEP( dso_wavlog )
/* Dump any wave logs */ /* Dump any wave logs */
/* get nodes to be logged and apply gain, then clip to 16 bit */ /* get nodes to be logged and apply gain, then clip to 16 bit */
val = DISCRETE_INPUT(0) * DISCRETE_INPUT(1); val = DISCRETE_INPUT(0) * DISCRETE_INPUT(1);
val = (val < -32768) ? -32768 : (val > 32767) ? 32767 : val; wave_data_l = (int16_t)std::clamp<double>(val, -32768, 32767);
wave_data_l = (int16_t)val;
if (this->active_inputs() == 2) if (this->active_inputs() == 2)
{ {
/* DISCRETE_WAVLOG1 */ /* DISCRETE_WAVLOG1 */
@ -109,8 +108,7 @@ DISCRETE_STEP( dso_wavlog )
{ {
/* DISCRETE_WAVLOG2 */ /* DISCRETE_WAVLOG2 */
val = DISCRETE_INPUT(2) * DISCRETE_INPUT(3); val = DISCRETE_INPUT(2) * DISCRETE_INPUT(3);
val = (val < -32768) ? -32768 : (val > 32767) ? 32767 : val; wave_data_r = (int16_t)std::clamp<double>(val, -32768, 32767);
wave_data_r = (int16_t)val;
util::wav_add_data_16lr(*m_wavfile, &wave_data_l, &wave_data_r, 1); util::wav_add_data_16lr(*m_wavfile, &wave_data_l, &wave_data_r, 1);
} }

View File

@ -266,16 +266,16 @@ retry:
switch (m_cpl) switch (m_cpl)
{ {
case 3: case 3:
mixl = (mixl > ClipMax3) ? ClipMax3 : (mixl < -ClipMax3) ? -ClipMax3 : mixl; mixl = std::clamp(mixl, -ClipMax3, ClipMax3);
mixr = (mixr > ClipMax3) ? ClipMax3 : (mixr < -ClipMax3) ? -ClipMax3 : mixr; mixr = std::clamp(mixr, -ClipMax3, ClipMax3);
break; break;
case 2: case 2:
mixl = (mixl > ClipMax2) ? ClipMax2 : (mixl < -ClipMax2) ? -ClipMax2 : mixl; mixl = std::clamp(mixl, -ClipMax2, ClipMax2);
mixr = (mixr > ClipMax2) ? ClipMax2 : (mixr < -ClipMax2) ? -ClipMax2 : mixr; mixr = std::clamp(mixr, -ClipMax2, ClipMax2);
break; break;
case 1: case 1:
mixl = (mixl > 32767) ? 32767 : (mixl < -32768) ? -32768 : mixl; mixl = std::clamp(mixl, -32768, 32767);
mixr = (mixr > 32767) ? 32767 : (mixr < -32768) ? -32768 : mixr; mixr = std::clamp(mixr, -32768, 32767);
break; break;
} }
if (m_mute) if (m_mute)