Здравствуйте, landerhigh, Вы писали:
L>Здравствуйте, Erop, Вы писали:
L>>>>>2. Неясно, что будет, если разделитель — запятая.
E>>>>Ошибка формата будет. Тоже вроде как ясно...
L>>>А если надо пофискить?
нет трудностей добавить запятую, так же легко передалеть эту функцию в шаблон и автоматом добавить поддержку юникода.
дургое дело, что фиксить как раз не надо, т.к. ипользовать запятую как разделитель — идиотизм.
L>Этот код non-maintainable. Очень страшная реализация конечного автомата. Это я еще к форматированию придираться не начал 
ORLY? Этот код понимается за 30 секунд и правится за такое же время. non-maintainable — разные математические и специализированные вещи в которых ты и десять строк не поймешь без специального образования:
void KnotVector::basis_funs_calc(double N[], double u, int i) const
{
double L[p_max + 1];
double R[p_max + 1];
double sv, tmp;
N[0] = 1.0;
for ( int j = 1; j <= m_p; j++ )
{
L[j] = u - m_vals[i+1-j];
R[j] = m_vals[i+j] - u;
sv = 0.0;
for ( int r = 0; r < j; r++ )
{
tmp = N[r]/(R[r+1]+L[j-r]);
N[r] = sv + R[r+1] * tmp;
sv = L[j-r]*tmp;
}
N[j] = sv;
}
}
L>Копи-пейст, стало быть? Ну-ну.
Про шаблон читай выше
L>Мы уже вроде договорились, что качество кода тут, мягко говоря, не на высоте.
качество кода это субьективный критерий. обективный критерий — это, например, производительность и по этому критерию моя функция в 45 лучше.
L>Это не говоря о том, что все это выглядит как попытка сделать ядреную пушку, чтобы по комарам стрелять.
L>Что толку от офигенно быстрого парсера, если 99% времени программа висит на select(), например?
А у меня наооборот, представляешь, ни одного селекта, зато на входе текстовые файлы с данными размером по 10-30Мб.
Так можно вообще до абсурда дойти. Одну функцию используем с селоктом, а другую с файлами.
Решение должно быть одно. Качественное и максимально быстрое. А буст не проходит по этим элементарным критериям.
Буст вообще не библиотека, а сплошной цирк. Один xml парзер на spirit чего стоит.