вот такие пирожки

    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

« репост || Архитектурные... »


antivirus | apache | asp | blogging | browser | bugtracking | cms | crm | css | database | ebay | ecommerce | google | hosting | html | java | jsp | linux | microsoft | mysql | offshore | offshoring | oscommerce | php | postgresql | programming | rss | security | seo | shopping | software | spam | spyware | sql | technology | templates | tracker | virus | web | xml | yahoo | home