# The PlayStation 3 toolchain appears to be missing some functions from the C++ standard library. This replaces the missing functions with other ones that are available. --- a/alc/effects/reverb.cpp +++ b/alc/effects/reverb.cpp @@ -931,7 +931,7 @@ void EarlyReflections::updateLines(const float density_mult, const float diffusi /* Calculate the gain (coefficient) for the secondary reflections based on * the average delay and decay time. */ - const auto length = std::reduce(EARLY_LINE_LENGTHS.begin(), EARLY_LINE_LENGTHS.end(), 0.0f) + const auto length = std::accumulate(EARLY_LINE_LENGTHS.begin(), EARLY_LINE_LENGTHS.end(), 0.0f) / float{EARLY_LINE_LENGTHS.size()} * density_mult; Coeff = CalcDecayCoeff(length, decayTime); --- a/common/albit.h +++ b/common/albit.h @@ -30,7 +30,7 @@ template std::enable_if_t, T> byteswap(T value) noexcept { - static_assert(std::has_unique_object_representations_v); + static_assert(std::has_unique_object_representations::value); auto bytes = al::bit_cast>(value); std::reverse(bytes.begin(), bytes.end()); return al::bit_cast(bytes);