It seems it's checking if amps is true and/or is set to something, and if it is, then grab the given index of it, else, return a float of 1.
So
if (amps)
{
a = amps[i];
}
else
{
a = 1.f;
}
Which is wonky/odd to be honest. It should really be checking if amps[i]
is set, and then grab it. If not, then default to 1.f