LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

Я уже писал: Про задание - я пока ничего лучше не придумал, чем 2^(x*lb(e)). Я думал, что 2 в степени n посчитать будет удобней, но тут всякие не целые числа с которыми тысячи мороки.

и где тут про такты? где тут про время бенча?

int main() {
  double res=0;
  const double step=double(1)/1000/1000/50;
  for( double x=-10; x<=10; x+=step ) {
    res += superhackkiller1997_super_fail(x);
  }
  std::cout << std::setprecision(20) << res << ' ' << superhackkiller1997_super_fail(10) ;
  std::cout << " iterations=" << 20/step;
  return 0;
}

у меня это 13.5 секунд на одном ядре проца 2.8 ГГц; при этом заменять суммирование res += ... на известный заранее результат нельзя — оптимизировать можно только код superhackkiller1997_super_fail

И что такое точность 32бита?

это значит, что распечатав superhackkiller1997_super_fail(любое плавучее число от -10 до 10) ты должен получить 10 верных десятичных цифр, ну или 9 с хвостиком

Исходная версия www_linux_org_ru, :

Я уже писал: Про задание - я пока ничего лучше не придумал, чем 2^(x*lb(e)). Я думал, что 2 в степени n посчитать будет удобней, но тут всякие не целые числа с которыми тысячи мороки.

и где тут про такты? где тут про время бенча?

int main() {
  double res=0;
  const double step=double(1)/1000/1000/50;
  for( double x=-10; x<=10; x+=step ) {
    res += superhackkiller1997_super_fail(x);
  }
  std::cout << std::setprecision(20) << res << ' ' << superhackkiller1997_super_fail(10) ;
  std::cout << " iterations=" << 20/step;
  return 0;
}

у меня это 13.5 секунд на одном ядре проца 2.8 ГГц; при этом заменять суммирование res += ... на известный заранее результат нельзя — оптимизировать можно только код superhackkiller1997_super_fail

И что такое точность 32бита?

это значит, что распечатав superhackkiller1997_super_fail(любое число от -10 до 10) ты должен получить 10 верных десятичных цифр, ну или 9 с хвостиком