Warning: session_start(): open(/var/lib/php/sessions/sess_8n6dcj7mjqr4s3ju8s1trko217, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
interface RenderFrequencySample {
public double get(Complex c, double frac);
default void subtractPeriodFrom(IAddPlateau audio, DoubleRange period, Complex intensity) {
int i1 = ifloor(period.start), i2 = ifloor(period.end);
for (int i = i1; i < i2; i++)
audio.addPlateau(i, i+1, renderPeriodSample(period, intensity, i, false));
}
default double renderPeriodSample(DoubleRange period, Complex intensity, double t, bool shouldPrint) {
double n = l(period);
Complex c = div(intensity, n);
double t2 = t-period.start;
double frac = t2/n;
if (shouldPrint)
printVars(f := sampleRate()/n, +i, interval := n, +t, +t2, frac := formatDouble2(frac),
c := renderComplexWithAngle(div(c, 32768)));
if (realOnly) c = complex(c.re());
else if (imagOnly) c = complex(0, c.im());
ret renderFrequencySample(c, frac);
}
public default void addPeriodTo(double[] samples, DoubleRange period, Complex intensity) {
if (samples == null) ret;
subtractPeriodFrom(new IAddPlateau {
public void addPlateau(double start, double end, double intensity) {
int i1 = ifloor(start), i2 = ifloor(end);
for (int i = i1; i < i2; i++)
samples[i] += intensity;
}
}, period, minus(intensity));
}
}