2021-10-27 20:35:12 +02:00
|
|
|
#include "block.h"
|
|
|
|
|
|
|
|
|
|
namespace dsp
|
|
|
|
|
{
|
2025-07-23 12:21:02 +02:00
|
|
|
float branchless_clip(float x, float clip) { return 0.5 * (std::abs(x + clip) - std::abs(x - clip)); }
|
2022-10-31 13:24:21 +01:00
|
|
|
|
2025-07-23 12:21:02 +02:00
|
|
|
float branched_clip(float x, float clip)
|
2022-10-31 13:24:21 +01:00
|
|
|
{
|
2025-07-23 12:21:02 +02:00
|
|
|
if (x < -clip)
|
|
|
|
|
return -clip;
|
|
|
|
|
else if (x > clip)
|
|
|
|
|
return clip;
|
|
|
|
|
else
|
|
|
|
|
return x;
|
2022-10-31 13:24:21 +01:00
|
|
|
}
|
|
|
|
|
|
2025-07-23 12:21:02 +02:00
|
|
|
double hz_to_rad(double freq, double samplerate) { return 2.0 * M_PI * (freq / samplerate); }
|
|
|
|
|
|
|
|
|
|
double rad_to_hz(double rad, double samplerate) { return (rad / (2.0 * M_PI)) * samplerate; }
|
|
|
|
|
}; // namespace dsp
|