- Diffusor: added process_multi out-of-place
This commit is contained in:
2025-11-11 12:29:18 +01:00
parent 9519445ad9
commit 4d6dbe770b
+10
View File
@@ -101,6 +101,7 @@ class Diffusor
return temp[0]; return temp[0];
} }
// In-place
inline void process_multi(T in_out[numCh]) inline void process_multi(T in_out[numCh])
{ {
m_dly.process(in_out); m_dly.process(in_out);
@@ -108,6 +109,15 @@ class Diffusor
Shuffle<T, numCh>::inPlace(in_out, m_shuffle_spec); Shuffle<T, numCh>::inPlace(in_out, m_shuffle_spec);
Hadamard<T, numCh>::inPlace(in_out); Hadamard<T, numCh>::inPlace(in_out);
} }
// Out-of-place
inline void process_multi(T in[numCh], T out[numCh])
{
m_dly.process(in);
Shuffle<T, numCh>::outOfPlace(in, out, m_shuffle_spec);
Hadamard<T, numCh>::inPlace(out);
}
}; };
template<typename T, uint numCh> template<typename T, uint numCh>