Warning: session_start(): open(/var/lib/php/sessions/sess_aurikfud2627m0c5e4gk27stvn, 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
sclass RenderFrequencySample_SquareWave extends Meta is RenderFrequencySample {
public double get(Complex c, double frac) {
double abs = c.abs();
if (abs == 0) ret 0;
frac = frac_nonNeg(frac + c.fracAngle());
ret abs * (frac < .5 ? 1 : -1);
}
//@Override
public void __subtractPeriodFrom(IAddPlateau audio, DoubleRange period, Complex intensity) {
double goHigh = fracNonNeg(-intensity.fracAngle());
double abs = intensity.abs();
double goLow = fracNonNeg(goHigh+.5);
double t1 = period.start, t2 = period.end, n = l(period);
bool highFirst = goHigh < goLow;
double min = min(goHigh, goLow), minPos = t1+min*n;
double max = max(goHigh, goLow), maxPos = t1+max*n;
double val = highFirst ? -abs : abs;
if (metaGet("scaffolding") != null)
printVars(+t1, +t2, +goHigh, +goLow, +abs, +minPos, +maxPos, +n);
audio.subtractPlateau(t1, minPos, val);
audio.subtractPlateau( minPos, maxPos, -val);
audio.subtractPlateau( maxPos, t2, val);
}
}