I have sometimes huge numbers where a 0 is expected:
-5.96046e-08, -2.98023e-08 ...
Even though it looks wrong, it still take it as a 0 (or maybe undefined?). Can someone tell me what is it, if it's normal, how to avoid, ...
for (int j = 0; j < samplesPerBlock; ++j)
{
if (!jobDone)
{
job.amplitude =
(job.elapsed <= job.attack) * (job.velocity / job.attack * job.elapsed) +
(job.elapsed > job.attack && job.elapsed <= job.decay) * (job.velocity - (job.velocity - job.sustain) / (job.decay - job.attack) * (job.elapsed - job.attack)) +
(job.elapsed > job.decay && job.on) * (job.sustain) +
(!job.on && job.elapsed > job.decay) * (job.sustain - (job.sustain / job.release) * job.released);
job.released += (!job.on && job.elapsed > job.decay);
job.amplitude -= job.toChocke * (job.amplitude / job.chocke) * job.chocked;
if (job.chocke == job.chocked)
{
jobDone = true;
DBG(job.amplitude); // <- this is where I get those numbers
}
job.chocked += job.toChocke;
}
}