Вообще, тут обычная математика. Просто запятая, как сказал
Вадим, используется вместо записи полноценного блока операторов в цикле for() и в операторе возврата. Т.е. первая строка читается примерно так:
if (c<0) { c=-c; f=0;}
i=2/2+c;
j=4*i-2;
Здесь выполняется нормировка значения 2/2+abs(c) в рамки (-2,2) из исходных (0,1). Вторая строка итерирует массив d с конца, заполняя g и h промежуточными вычислениями, начиная с 0, переменная k всего лишь нужна хранить старое значение g. В третьей строке выполняется расчет для 0-го элемента цикла (формула та же, можно было закончить цикл и потом в формулу подставить полученный g), и возвращается значение sgn(c)*(1-l) где l вычисляется сразу перед return. Вот только что эта функция такого считает - несколько непонятно, может, корреляцию для некоего распределения известной формы и полученными из него значениями в d с предполагаемой величиной параметра c.