История изменений
Исправление 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 с хвостиком