Browse Source

Use proper C++ math functions

tags/v1.0.1
Andrew Belt 6 years ago
parent
commit
b5dd936e44
3 changed files with 9 additions and 9 deletions
  1. +1
    -1
      src/Delay.cpp
  2. +4
    -4
      src/LFO.cpp
  3. +4
    -4
      src/Scope.cpp

+ 1
- 1
src/Delay.cpp View File

@@ -68,7 +68,7 @@ struct Delay : Module {


if (outBuffer.empty()) { if (outBuffer.empty()) {
double ratio = 1.f; double ratio = 1.f;
if (std::abs(consume) >= 16.f) {
if (std::fabs(consume) >= 16.f) {
ratio = std::pow(10.f, clamp(consume / 10000.f, -1.f, 1.f)); ratio = std::pow(10.f, clamp(consume / 10000.f, -1.f, 1.f));
} }




+ 4
- 4
src/LFO.cpp View File

@@ -11,8 +11,8 @@ struct LowFrequencyOscillator {


LowFrequencyOscillator() {} LowFrequencyOscillator() {}
void setPitch(float pitch) { void setPitch(float pitch) {
pitch = fminf(pitch, 10.f);
freq = powf(2.f, pitch);
pitch = std::fmin(pitch, 10.f);
freq = std::pow(2.f, pitch);
} }
void setPulseWidth(float pw_) { void setPulseWidth(float pw_) {
const float pwMin = 0.01f; const float pwMin = 0.01f;
@@ -24,7 +24,7 @@ struct LowFrequencyOscillator {
} }
} }
void step(float dt) { void step(float dt) {
float deltaPhase = fminf(freq * dt, 0.5f);
float deltaPhase = std::fmin(freq * dt, 0.5f);
phase += deltaPhase; phase += deltaPhase;
if (phase >= 1.f) if (phase >= 1.f)
phase -= 1.f; phase -= 1.f;
@@ -36,7 +36,7 @@ struct LowFrequencyOscillator {
return std::sin(2*M_PI * phase) * (invert ? -1.f : 1.f); return std::sin(2*M_PI * phase) * (invert ? -1.f : 1.f);
} }
float tri(float x) { float tri(float x) {
return 4.f * std::abs(x - std::round(x));
return 4.f * std::fabs(x - std::round(x));
} }
float tri() { float tri() {
if (offset) if (offset)


+ 4
- 4
src/Scope.cpp View File

@@ -157,8 +157,8 @@ struct ScopeDisplay : TransparentWidget {
for (int i = 0; i < BUFFER_SIZE; i++) { for (int i = 0; i < BUFFER_SIZE; i++) {
float v = values[i]; float v = values[i];
vrms += v*v; vrms += v*v;
vmax = std::max(vmax, v);
vmin = std::min(vmin, v);
vmax = std::fmax(vmax, v);
vmin = std::fmin(vmin, v);
} }
vrms = std::sqrt(vrms / BUFFER_SIZE); vrms = std::sqrt(vrms / BUFFER_SIZE);
vpp = vmax - vmin; vpp = vmax - vmin;
@@ -260,8 +260,8 @@ struct ScopeDisplay : TransparentWidget {
if (!module) if (!module)
return; return;


float gainX = powf(2.0f, roundf(module->params[Scope::X_SCALE_PARAM].value));
float gainY = powf(2.0f, roundf(module->params[Scope::Y_SCALE_PARAM].value));
float gainX = std::pow(2.0f, std::round(module->params[Scope::X_SCALE_PARAM].value));
float gainY = std::pow(2.0f, std::round(module->params[Scope::Y_SCALE_PARAM].value));
float offsetX = module->params[Scope::X_POS_PARAM].value; float offsetX = module->params[Scope::X_POS_PARAM].value;
float offsetY = module->params[Scope::Y_POS_PARAM].value; float offsetY = module->params[Scope::Y_POS_PARAM].value;




Loading…
Cancel
Save