Я хотел бы использовать расширение семантики constexpr С++ 14 для вычисления некоторых математических формул во время компиляции. Но - я не хочу "выкатывать свои собственные" версии constexpr sqrt()
, log()
и т. д sin()
. Дело не в том, что я не мог этого сделать, просто это было бы изобретением велосипеда.
Так кто-нибудь публиковал такую библиотеку?
Заметки:
«Контейнеры, алгоритмы, случайные числа, синтаксический анализ, трассировка лучей, синтезатор и другие на основе C++ 11/14 constexpr».
Болеро Мураками (кажется, это имя)
Сайты: Основной сайт | Репозиторий GitHub .
Предостережения:
Кит О'Хара
Сайты: Основной сайт | Репозиторий GitHub .
Дополнительные интересные функции с веб-сайта библиотеки:
gcem::
идентичен стандартной библиотеке C++ ( std::
).Предостережение:
Если вы используете gcc для компиляции своего C++ 11, то есть плагин GCC python , с которым вы можете делать то, что вам нужно.
Плагин python gcc позволяет вам использовать всю мощь python как часть процесса компиляции и сборки gcc. Учитывая, что python предоставляет полные математические библиотеки, базовые по умолчанию и очень продвинутые из numpy , и этот плагин позволяет вам получить доступ к внутренним компонентам gcc, вы сможете выполнять практически любые вычисления времени компиляции, которые вы можете себе представить.
std::array
длины, являющейся квадратным корнем чего-то.
Стив Барнс
айнпоклум
Стив Барнс
айнпоклум
#ifdef CAN_TAKE_SHORTCUT shortcut_code; #else regular_code; #endif
... во всяком случае, удалил текст о трюках сборки.