MCPcopy Create free account
hub / github.com/Signalsmith-Audio/reverb-example-code / Householder

Class Householder

mix-matrix.h:5–20  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3// Use like `Householder<double, 8>::inPlace(data)` - size must be ≥ 1
4template<typename Sample, int size>
5class Householder {
6 static constexpr Sample multiplier{-2.0/size};
7public:
8 static void inPlace(Sample *arr) {
9 double sum = 0;
10 for (int i = 0; i < size; ++i) {
11 sum += arr[i];
12 }
13
14 sum *= multiplier;
15
16 for (int i = 0; i < size; ++i) {
17 arr[i] += sum;
18 }
19 };
20};
21
22// Use like `Hadamard<double, 8>::inPlace(data)` - size must be a power of 2
23template<typename Sample, int size>

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected