вот такие пирожки
Date: 01/13/07
(Code WTF) Keywords: no keywords
Приветствую тебя, All :)
Этим летом я работал на одном из предприятий, которое занималось разработкой автоматики.
Этот код я обнаружил в исходниках системы защиты от аварии:
double cos(double radians)
{
double result = 0;
double sign = 0;
double x2n = 0;
double factorial = 0;
int n, count;
for (n = 0; n < 10; n ++)
{
sign = 1.0;
for (count = 0; count < n; count ++)
sign *= (double) -1;
x2n = 1.0;
for (count = 0; count < (2 * n); count ++)
x2n *= radians;
factorial = 1.0;
for (count = (2 * n); count > 0; count --)
factorial *= (double) count;
result += (sign * (x2n / factorial));
}
return (result);
}
весьма забавно получилось:) особенно порадовало:
1. for (n = 0; n < 10; n ++)
2. for (count = 0; count < n; count ++)
sign *= (double) -1; ; просто убило
самое интересное - программа начала сбоить лишь через год после начала выпуска - обновили параметр устойчивости
и бац - он вылез за дозволенную окресноть :)
Source: http://community.livejournal.com/code_wtf/64326.html