Форум программистов, компьютерный форум CyberForum.ru

Максимально быстрый вариант вычисления sinf/cosf - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простое создание строки из объектов разных типов данных http://www.cyberforum.ru/cpp-beginners/thread1234710.html
Всем доброго времени суток. Создал класс, который (по моему мнению) сделает более удобным создание строк и их передачу в функции, принимающие строки. Посоветуйте, как можно (если нужно) его улучшить. Пример использования string num = mkstr() << 15 //число в строку //передача строки в функцию int a = rand()%100 ofstream fout(mkstr() << "file" << a << ".txt"); Исходный код
C++ Правильно ли в приведенном примере реализовано выделение и очищение памяти под двумерный вектор Скажите правильно ли я выделяю и очищаю память под двухмерный вектор class A { private: std::vector< std::vector<int> >* vec; public: A() http://www.cyberforum.ru/cpp-beginners/thread1234703.html
C++ Циклы: вычисление синуса
Приступил к циклам. Задание такое: Как известно, функция sin(x) может может быть вычислена в виде ряда sin(x)=x-x^3/3!+x^5/5!-...=\sum_{n=0}^{\propto }(-1)^n*(x^(2n+1))/(2n+1)! На практике при вычислении значения функции sin(x) соответствующий ряд ограничивают, т.е. рассматривают приближенное выражение sin(x)= x-x^3/3!+x^5/5!-x^7/7!+...+...
Boost::regex не могу сформировать ссылку на паттерн при поиске C++
Необходимо найти 2 повторяющихся заголовка и объединить некоторое содержимое через replace. Хотел создать выражение для поиска: ^(prefix=)(.*)(\n)(*)($2) Вот только ссылка $2 не возвращает содержимое (.*). Можно как-то сделать подобную ссылку? Спасибо.
C++ Инициализация переменных - некорректно работает пример из книги http://www.cyberforum.ru/cpp-beginners/thread1234669.html
Взял задачку из книги Г.Шилда. Должно показывать 1 3 6 10 15. Но у меня выдает 1 2 3 4 5. Набрал всё точь в точь с книги, в чём проблема, кто подскажет? #include <iostream> #include <conio.h> using namespace std; void total (int x); int main(){ setlocale(LC_ALL,"RUS"); cout << "Вычисление суммы чисел от 1 до 5.\n"; total(5); _getch();
C++ Не работает цикл for #include <iostream> #include <conio.h> using namespace std; int main() { int x; for(x=0; x<10; x++); cout << x << " "; _getch(); return 0; } подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16946 / 5351 / 329
Регистрация: 30.03.2009
Сообщений: 14,389
Записей в блоге: 26
03.08.2014, 23:06     Максимально быстрый вариант вычисления sinf/cosf
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Просто при таблицах - будет как минимум одно деление (тоже времязатратная команда)
Вместо этого можно сделать умножение, которое работает намного быстрее (грубо говоря, деление на 100 есть умножение на 0.01)

Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
и если этап с делениями ещё и можно будет векторизовать - то потом по таблице всё равно для каждого индекса придётся бегать по-отдельности
Пойми ты простую вещь. Товарищу не надо писать программу для военного радара. Ему всего лишь нужно выполнение вполне себе конкретного задания для вполне себе конкретного преподавателя, которые ожидает вполне себе конкретный вариант решения

Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
а вокруг ускоренного фрагмента же лежит неускоренная остальная программа, и весь выигрыш может замаскироваться (ну, будет прога работать 99 сек вместо 100 - толку от этого?)
Ты сейчас пытаешься придумать задачу, которую никто не ставил. Речь идёт о вычислении синуса и косинуса, больше ни о чём
 
Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru