It depends on what the alternatives are. You have to admit that the code you posted is somewhat ugly. I wouldn't say it's clear. It's a kind of a hack. So if using some other coding solution would be worse, then ok. But if you have better alternative, don't let the excuse "it's good enough" comfort you.
я идиот. в одном месте вместо 0.25 стояло 0.75 а по результату хрен это заметишь.. так баг и висел. два месяца работы коту под хвост, всё надо пересчитывать.
всегда проверять граничные условия
ВСЕГДА ПРОВЕРЯТЬ ГРАНИЧНЫЕ УСЛОВИЯ
даже так: ВСЕГДА ПРОВЕРЯТЬ ГРАНИЧНЫЕ УСЛОВИЯ, Б---ТЬ!
обнаружил у себя заразу, которая совершенно непредсказуемо гадила в самые неожиданные моменты. причём гадила так, что двое суток счёта, а потом внезапно(!) фэйл. а разгадка оказалась в самом неожиданном месте. массив с значениями магнитного поля:
и вот этот NAN сидел себе у самой стенки где все заряженные частицы дохнут и никак себя не проявлял... до тех пор, пока какая ни будь особо медленная частица не сразу убилась апстену, а пролетела рядом... и получила NAN в одну из компонент скорости.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
thambs
У нана есть одно замечательное свойство, которое помогает в отладке. Любая операция нормального числа с наном даёт нан. Поэтому - лог, лог и ещё раз лог. Ну и assert( x == x ) не забывать.