Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Silent float-to-double promotions #11

Open
kcgen opened this issue May 13, 2023 · 0 comments
Open

Silent float-to-double promotions #11

kcgen opened this issue May 13, 2023 · 0 comments

Comments

@kcgen
Copy link
Contributor

kcgen commented May 13, 2023

The DOSBox Staging has run some comparisons and found floating-point processing is faster than doubles (on all platforms and compilers, ranging from 25% to roughly 50% faster), as well as allowing more SIMD lanes being filled when compilers decide to lervage SIMD calls.

Even if MVerb<float> is used, there are still some places where it promotes floats to doubles.

It would be nice to eliminate all of these and have a "float-clean" route (and strictly use the template type).

These extra type conversion warnings can be shown with:

CXXFLAGS="-Wconversion -Wsign-conversion -Wdouble-promotion"


../../include/../src/libs/mverb/MVerb.h:227:56: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpass[2].SetLength(static_cast<int>(0.0127 *
SampleRate));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:228:56: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpass[3].SetLength(static_cast<int>(0.0093 *
SampleRate));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:237:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[0].SetLength(static_cast<int>(0.020 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:237:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[0].SetLength(static_cast<int>(0.020 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:238:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetLength(static_cast<int>(0.060 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:238:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetLength(static_cast<int>(0.060 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:239:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[2].SetLength(static_cast<int>(0.030 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:239:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[2].SetLength(static_cast<int>(0.030 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:240:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetLength(static_cast<int>(0.089 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:240:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetLength(static_cast<int>(0.089 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:246:122: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:246:109: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:246:77: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:246:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:248:122: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:248:109: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:248:77: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:248:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:253:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetLength(static_cast<int>(0.15 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:253:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetLength(static_cast<int>(0.15 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:254:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetLength(static_cast<int>(0.12 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:254:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetLength(static_cast<int>(0.12 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:255:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetLength(static_cast<int>(0.14 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:255:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetLength(static_cast<int>(0.14 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:256:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetLength(static_cast<int>(0.11 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:256:62: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetLength(static_cast<int>(0.11 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:257:168: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:257:155: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:257:123: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:257:110: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:257:78: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:257:65: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:258:123: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:258:110: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:258:78: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:258:65: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:259:124: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:259:111: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:259:79: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:259:66: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:260:124: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:260:111: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:260:78: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:260:65: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:263:73: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetLength(static_cast<int>(0.089 *
SampleRate));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:264:271: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetIndex(0, static_cast<int>(0.0199 *
SampleRate), static_cast<int>(0.0219 * SampleRate),
static_cast<int>(0.0354 * SampleRate), static_cast<int>(0.0389 *
SampleRate), static_cast<int>(0.0414 * SampleRate),
static_cast<int>(0.0692 * SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:264:232: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetIndex(0, static_cast<int>(0.0199 *
SampleRate), static_cast<int>(0.0219 * SampleRate),
static_cast<int>(0.0354 * SampleRate), static_cast<int>(0.0389 *
SampleRate), static_cast<int>(0.0414 * SampleRate),
static_cast<int>(0.0692 * SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:264:193: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetIndex(0, static_cast<int>(0.0199 *
SampleRate), static_cast<int>(0.0219 * SampleRate),
static_cast<int>(0.0354 * SampleRate), static_cast<int>(0.0389 *
SampleRate), static_cast<int>(0.0414 * SampleRate),
static_cast<int>(0.0692 * SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:264:154: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetIndex(0, static_cast<int>(0.0199 *
SampleRate), static_cast<int>(0.0219 * SampleRate),
static_cast<int>(0.0354 * SampleRate), static_cast<int>(0.0389 *
SampleRate), static_cast<int>(0.0414 * SampleRate),
static_cast<int>(0.0692 * SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:264:115: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetIndex(0, static_cast<int>(0.0199 *
SampleRate), static_cast<int>(0.0219 * SampleRate),
static_cast<int>(0.0354 * SampleRate), static_cast<int>(0.0389 *
SampleRate), static_cast<int>(0.0414 * SampleRate),
static_cast<int>(0.0692 * SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:264:76: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[0].SetIndex(0, static_cast<int>(0.0199 *
SampleRate), static_cast<int>(0.0219 * SampleRate),
static_cast<int>(0.0354 * SampleRate), static_cast<int>(0.0389 *
SampleRate), static_cast<int>(0.0414 * SampleRate),
static_cast<int>(0.0692 * SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:265:73: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetLength(static_cast<int>(0.069 *
SampleRate));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:266:270: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetIndex(0, static_cast<int>(0.0099 *
SampleRate), static_cast<int>(0.011 * SampleRate), static_cast<int>(0.0182
* SampleRate), static_cast<int>(0.0189 * SampleRate),
static_cast<int>(0.0213 * SampleRate), static_cast<int>(0.0431 *
SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:266:231: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetIndex(0, static_cast<int>(0.0099 *
SampleRate), static_cast<int>(0.011 * SampleRate), static_cast<int>(0.0182
* SampleRate), static_cast<int>(0.0189 * SampleRate),
static_cast<int>(0.0213 * SampleRate), static_cast<int>(0.0431 *
SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:266:192: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetIndex(0, static_cast<int>(0.0099 *
SampleRate), static_cast<int>(0.011 * SampleRate), static_cast<int>(0.0182
* SampleRate), static_cast<int>(0.0189 * SampleRate),
static_cast<int>(0.0213 * SampleRate), static_cast<int>(0.0431 *
SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:266:153: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetIndex(0, static_cast<int>(0.0099 *
SampleRate), static_cast<int>(0.011 * SampleRate), static_cast<int>(0.0182
* SampleRate), static_cast<int>(0.0189 * SampleRate),
static_cast<int>(0.0213 * SampleRate), static_cast<int>(0.0431 *
SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:266:114: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetIndex(0, static_cast<int>(0.0099 *
SampleRate), static_cast<int>(0.011 * SampleRate), static_cast<int>(0.0182
* SampleRate), static_cast<int>(0.0189 * SampleRate),
static_cast<int>(0.0213 * SampleRate), static_cast<int>(0.0431 *
SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:266:76: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
earlyReflectionsDelayLine[1].SetIndex(0, static_cast<int>(0.0099 *
SampleRate), static_cast<int>(0.011 * SampleRate), static_cast<int>(0.0182
* SampleRate), static_cast<int>(0.0189 * SampleRate),
static_cast<int>(0.0213 * SampleRate), static_cast<int>(0.0431 *
SampleRate),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:272:55: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
DampingFreq = static_cast<T>(1. -
value);
~ ^~~~~
../../src/hardware/mixer.cpp:128:9: note: in instantiation of member
function 'MVerb<float>::setParameter' requested here
mverb.setParameter(EmVerb::PREDELAY, predelay);
^
In file included from ../../src/hardware/mixer.cpp:64:
../../include/../src/libs/mverb/MVerb.h:284:51: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
Size = static_cast<T>((0.95 * value) +
0.05);
~ ^~~~~
../../include/../src/libs/mverb/MVerb.h:289:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[0].SetLength(static_cast<int>(0.020 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:289:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[0].SetLength(static_cast<int>(0.020 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:290:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetLength(static_cast<int>(0.060 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:290:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetLength(static_cast<int>(0.060 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:291:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[2].SetLength(static_cast<int>(0.030 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:291:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[2].SetLength(static_cast<int>(0.030 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:292:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetLength(static_cast<int>(0.089 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:292:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetLength(static_cast<int>(0.089 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:293:134: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:293:121: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:293:89: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:293:76: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[1].SetIndex(0, static_cast<int>(0.006 * SampleRate * Size),
static_cast<int>(0.041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:294:134: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:294:121: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:294:89: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:294:76: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
allpassFourTap[3].SetIndex(0, static_cast<int>(0.031 * SampleRate * Size),
static_cast<int>(0.011 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:299:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetLength(static_cast<int>(0.15 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:299:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetLength(static_cast<int>(0.15 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:300:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetLength(static_cast<int>(0.12 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:300:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetLength(static_cast<int>(0.12 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:301:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetLength(static_cast<int>(0.14 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:301:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetLength(static_cast<int>(0.14 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:302:87: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetLength(static_cast<int>(0.11 * SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:302:74: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetLength(static_cast<int>(0.11 * SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:303:180: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:303:167: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:303:135: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:303:122: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:303:90: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:303:77: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[0].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.011 * SampleRate * Size), static_cast<int>(0.121
* SampleRate *
Size));
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:304:135: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:304:122: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:304:90: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:304:77: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[1].SetIndex(0, static_cast<int>(0.036 * SampleRate *
Size), static_cast<int>(0.089 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:305:136: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:305:123: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:305:91: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:305:78: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[2].SetIndex(0, static_cast<int>(0.0089 * SampleRate *
Size), static_cast<int>(0.099 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:306:136: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:306:123: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:306:90: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~
../../include/../src/libs/mverb/MVerb.h:306:77: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
staticDelayLine[3].SetIndex(0, static_cast<int>(0.067 * SampleRate *
Size), static_cast<int>(0.0041 * SampleRate * Size),
0);
~ ^~~~~~~~~~
In file included from ../../src/hardware/mixer.cpp:24:
In file included from ../../include/mixer.h:42:
In file included from ../../subprojects/iir1-1.9.3/Iir.h:45:
../../subprojects/iir1-1.9.3/iir/Cascade.h:164:30: warning: implicit
conversion increases floating-point precision: 'const float' to 'double'
[-Wdouble-promotion]
double out = in;
~~~   ^~
../../src/hardware/mixer.cpp:1559:41: note: in instantiation of function
template specialization 'Iir::CascadeStages<8,
Iir::DirectFormII>::filter<float>' requested here
frame.left =
filters.highpass.hpf[0].filter(frame.left);
^
../../src/hardware/mixer.cpp:1654:2: note: in instantiation of function
template specialization 'MixerChannel::AddSamples<unsigned char, false,
false, true>' requested here
AddSamples<uint8_t, false, false, true>(len, data);
^
In file included from ../../src/hardware/mixer.cpp:24:
In file included from ../../include/mixer.h:42:
In file included from ../../subprojects/iir1-1.9.3/Iir.h:45:
../../subprojects/iir1-1.9.3/iir/Cascade.h:164:30: warning: implicit
conversion increases floating-point precision: 'const float' to 'double'
[-Wdouble-promotion]
double out = in;
~~~   ^~
../../src/hardware/mixer.cpp:1817:50: note: in instantiation of function
template specialization 'Iir::CascadeStages<1,
Iir::DirectFormII>::filter<float>' requested
here
frame[ch] =
mixer.reverb.highpass_filter[ch].filter(
^
In file included from ../../src/hardware/mixer.cpp:64:
../../include/../src/libs/mverb/MVerb.h:121:85: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T DecayDelta = static_cast<T>((((0.7995f * Decay) + 0.005) - DecaySmooth)
*
OneOverSampleFrames);
~ ^~~~~~~~~~~~~~~~~~~
../../src/hardware/mixer.cpp:1831:23: note: in instantiation of member
function 'MVerb<float>::process' requested here
mixer.reverb.mverb.process(in, out,
frames);
^
In file included from ../../src/hardware/mixer.cpp:64:
../../include/../src/libs/mverb/MVerb.h:121:70: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T DecayDelta = static_cast<T>((((0.7995f * Decay) + 0.005) - DecaySmooth)
*
OneOverSampleFrames);
~ ^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:121:50: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T DecayDelta = static_cast<T>((((0.7995f * Decay) + 0.005) - DecaySmooth)
* OneOverSampleFrames);
~~~~~~~~^~~~~~~  ~
../../include/../src/libs/mverb/MVerb.h:122:92: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T DensityDelta = static_cast<T>((((0.7995f * Density1) + 0.005) -
DensitySmooth) *
OneOverSampleFrames);
~ ^~~~~~~~~~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:122:75: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T DensityDelta = static_cast<T>((((0.7995f * Density1) + 0.005) -
DensitySmooth) *
OneOverSampleFrames);
~ ^~~~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:122:52: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T DensityDelta = static_cast<T>((((0.7995f * Density1) + 0.005) -
DensitySmooth) *
OneOverSampleFrames);
~~~~~~~~^~~~~~~~~~  ~
../../include/../src/libs/mverb/MVerb.h:143:39: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
Density2 = static_cast<T>(DecaySmooth +
0.15);
^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:144:17: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
if (Density2 > 0.5)
^~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:146:17: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
if (Density2 < 0.25)
^~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:161:59: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ ( bandwidthLeft * 0.4 + bandwidthRight * 0.2 ) *
0.5);
^~~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:161:37: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ ( bandwidthLeft * 0.4 + bandwidthRight * 0.2 ) *
0.5);
^~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:160:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[0].GetIndex(7) *
0.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:159:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[0].GetIndex(6) *
0.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:158:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[0].GetIndex(5) *
0.3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:157:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[0].GetIndex(4) *
0.3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:156:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[0].GetIndex(3) *
0.4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:155:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[0].GetIndex(2) *
0.6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:154:50: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T earlyReflectionsL =
static_cast<T>(earlyReflectionsDelayLine[0](static_cast<T>(bandwidthLeft *
0.5 + bandwidthRight *
0.3))

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:154:116: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T earlyReflectionsL =
static_cast<T>(earlyReflectionsDelayLine[0](static_cast<T>(bandwidthLeft *
0.5 + bandwidthRight *
0.3))
^~~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:154:94: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T earlyReflectionsL =
static_cast<T>(earlyReflectionsDelayLine[0](static_cast<T>(bandwidthLeft *
0.5 + bandwidthRight *
0.3))
^~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:169:59: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ ( bandwidthLeft * 0.2 + bandwidthRight * 0.4 ) *
0.5);
^~~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:169:37: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ ( bandwidthLeft * 0.2 + bandwidthRight * 0.4 ) *
0.5);
^~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:168:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[1].GetIndex(7) *
0.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:167:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[1].GetIndex(6) *
0.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:166:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[1].GetIndex(5) *
0.3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:165:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[1].GetIndex(4) *
0.3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:164:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[1].GetIndex(3) *
0.4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:163:64: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+ earlyReflectionsDelayLine[1].GetIndex(2) *
0.6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:162:50: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T earlyReflectionsR =
static_cast<T>(earlyReflectionsDelayLine[1](static_cast<T>(bandwidthLeft *
0.3 + bandwidthRight *
0.5))

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:162:116: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T earlyReflectionsR =
static_cast<T>(earlyReflectionsDelayLine[1](static_cast<T>(bandwidthLeft *
0.3 + bandwidthRight *
0.5))
^~~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:162:94: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T earlyReflectionsR =
static_cast<T>(earlyReflectionsDelayLine[1](static_cast<T>(bandwidthLeft *
0.3 + bandwidthRight *
0.5))
^~~~~~~~~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:192:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*staticDelayLine[1].GetIndex(1)));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:191:53: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*allpassFourTap[1].GetIndex(1))
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:190:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*staticDelayLine[0].GetIndex(1))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:189:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+(0.6*staticDelayLine[3].GetIndex(1))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:188:53: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*allpassFourTap[3].GetIndex(1))
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:187:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+(0.6*staticDelayLine[2].GetIndex(2))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:186:69: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T accumulatorL =
static_cast<T>((0.6*staticDelayLine[2].GetIndex(1))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:199:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*staticDelayLine[3].GetIndex(2)));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:198:53: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*allpassFourTap[3].GetIndex(2))
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:197:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*staticDelayLine[2].GetIndex(3))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:196:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+(0.6*staticDelayLine[1].GetIndex(2))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:195:53: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
-(0.6*allpassFourTap[1].GetIndex(2))
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:194:54: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
+(0.6*staticDelayLine[0].GetIndex(3))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:193:69: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
T accumulatorR =
static_cast<T>((0.6*staticDelayLine[0].GetIndex(2))
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../../include/../src/libs/mverb/MVerb.h:829:41: warning: implicit
conversion increases floating-point precision: 'float' to 'double'
[-Wdouble-promotion]
low += static_cast<T>(f * band +
1e-25);
~~^~~~~~ ~
../../include/../src/libs/mverb/MVerb.h:152:31: note: in instantiation of
member function 'StateVariable<float, 4>::operator()' requested
here
T bandwidthLeft = bandwidthFilter[0](left) ;
^
../../src/hardware/mixer.cpp:1831:23: note: in instantiation of member
function 'MVerb<float>::process' requested here
mixer.reverb.mverb.process(in, out,
frames);
^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant