From e805c62152ac2e7cd7953ab28f3b3d9bdb813042 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Mon, 15 Aug 2022 09:39:45 -0700 Subject: Use the proper type for a global definition Some compilers don't seem to like auto deduction for defining a declared variable. --- core/ambidefs.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'core/ambidefs.cpp') diff --git a/core/ambidefs.cpp b/core/ambidefs.cpp index 869dd90b..f5f4289e 100644 --- a/core/ambidefs.cpp +++ b/core/ambidefs.cpp @@ -11,6 +11,8 @@ namespace { +using AmbiChannelFloatArray = std::array; + constexpr std::array Ambi3DDecoderHFScale10{{ 2.000000000e+00f, 1.154700538e+00f }}; @@ -35,7 +37,7 @@ constexpr auto CalcAmbiCoeffs(const float y, const float z, const float x) { const float xx{x*x}, yy{y*y}, zz{z*z}, xy{x*y}, yz{y*z}, xz{x*z}; - return std::array{{ + return AmbiChannelFloatArray{{ /* Zeroth-order */ 1.0f, /* ACN 0 = 1 */ /* First-order */ @@ -81,7 +83,7 @@ constexpr std::array,8> FirstOrderDecoder{{ {{ 1.250000000e-01f, -1.250000000e-01f, -1.250000000e-01f, -1.250000000e-01f, }}, }}; -constexpr std::array,8> FirstOrderEncoder{{ +constexpr std::array FirstOrderEncoder{{ CalcAmbiCoeffs( 0.57735026919f, 0.57735026919f, 0.57735026919f), CalcAmbiCoeffs( 0.57735026919f, 0.57735026919f, -0.57735026919f), CalcAmbiCoeffs(-0.57735026919f, 0.57735026919f, 0.57735026919f), @@ -102,7 +104,7 @@ static_assert(FirstOrderDecoder.size() == FirstOrderEncoder.size(), "First-order */ auto CalcFirstOrderUp() { - std::array,4> res{}; + std::array res{}; for(size_t i{0};i < FirstOrderDecoder[0].size();++i) { @@ -136,7 +138,7 @@ constexpr std::array,14> SecondOrderDecoder{{ {{ 7.142857143e-02f, -7.142857143e-02f, -7.142857143e-02f, -7.142857143e-02f, 9.682458366e-02f, 9.682458366e-02f, 0.000000000e+00f, 9.682458366e-02f, 0.000000000e+00f, }}, }}; -constexpr std::array,14> SecondOrderEncoder{{ +constexpr std::array SecondOrderEncoder{{ CalcAmbiCoeffs( 0.00000000000f, 0.00000000000f, 1.00000000000f), CalcAmbiCoeffs( 0.00000000000f, 0.00000000000f, -1.00000000000f), CalcAmbiCoeffs( 1.00000000000f, 0.00000000000f, 0.00000000000f), @@ -160,7 +162,7 @@ static_assert(SecondOrderDecoder.size() == SecondOrderEncoder.size(), "Second-or */ auto CalcSecondOrderUp() { - std::array,9> res{}; + std::array res{}; for(size_t i{0};i < SecondOrderDecoder[0].size();++i) { @@ -179,7 +181,7 @@ auto CalcSecondOrderUp() /* TODO: When fourth-order is properly supported, fill this out. */ auto CalcThirdOrderUp() { - std::array,16> res{}; + std::array res{}; for(size_t i{0};i < res.size();++i) res[i][i] = 1.0f; @@ -189,9 +191,9 @@ auto CalcThirdOrderUp() } // namespace -const auto AmbiScale::FirstOrderUp{CalcFirstOrderUp()}; -const auto AmbiScale::SecondOrderUp{CalcSecondOrderUp()}; -const auto AmbiScale::ThirdOrderUp{CalcThirdOrderUp()}; +const std::array AmbiScale::FirstOrderUp{CalcFirstOrderUp()}; +const std::array AmbiScale::SecondOrderUp{CalcSecondOrderUp()}; +const std::array AmbiScale::ThirdOrderUp{CalcThirdOrderUp()}; auto AmbiScale::GetHFOrderScales(const uint in_order, const uint out_order) noexcept -- cgit v1.2.3