Update OpenAL-soft to 1.23.1-bc7cb17.

This commit is contained in:
Miku AuahDark
2024-03-20 11:06:03 +08:00
parent 4a512be715
commit 73a6fc9196
294 changed files with 44342 additions and 40077 deletions
+38
View File
@@ -0,0 +1,38 @@
#ifndef CORE_CUBIC_TABLES_H
#define CORE_CUBIC_TABLES_H
#include <array>
#include <cstddef>
#include "cubic_defs.h"
struct CubicTable {
std::array<CubicCoefficients,CubicPhaseCount> mTable{};
};
struct GaussianTable : CubicTable { GaussianTable(); };
inline const GaussianTable gGaussianFilter;
struct CubicFilter {
static constexpr std::size_t sTableBits{8};
static constexpr std::size_t sTableSteps{1 << sTableBits};
static constexpr std::size_t sTableMask{sTableSteps - 1};
std::array<float,sTableSteps*2 + 1> mFilter{};
CubicFilter();
[[nodiscard]] constexpr
auto getCoeff0(std::size_t i) const noexcept -> float { return mFilter[sTableSteps+i]; }
[[nodiscard]] constexpr
auto getCoeff1(std::size_t i) const noexcept -> float { return mFilter[i]; }
[[nodiscard]] constexpr
auto getCoeff2(std::size_t i) const noexcept -> float { return mFilter[sTableSteps-i]; }
[[nodiscard]] constexpr
auto getCoeff3(std::size_t i) const noexcept -> float { return mFilter[sTableSteps*2-i]; }
};
inline const CubicFilter gCubicTable;
#endif /* CORE_CUBIC_TABLES_H */