| 63 | fl::span<const float> Bins::raw() const { return mBinsRaw; } |
| 64 | |
| 65 | fl::span<const float> Bins::db() const { |
| 66 | if (!mDbDirty) { |
| 67 | return mBinsDb; |
| 68 | } |
| 69 | if (mBinsDb.capacity() == 0) { |
| 70 | mBinsDb = pool().acquire(mBands); |
| 71 | } |
| 72 | mBinsDb.resize(mBinsRaw.size()); |
| 73 | for (fl::size i = 0; i < mBinsRaw.size(); ++i) { |
| 74 | float x = mBinsRaw[i]; |
| 75 | mBinsDb[i] = (x > 0.0f) ? 20.0f * fl::log10f(x) : 0.0f; |
| 76 | } |
| 77 | mDbDirty = false; |
| 78 | return mBinsDb; |
| 79 | } |
| 80 | |
| 81 | fl::span<const float> Bins::rawNormalized() const { |
| 82 | if (!mNormalizedDirty) { |
no test coverage detected