Вопросы по теме 'constantfolding'

Почему 0,1 + 0,2 == 0,3 в D?
assert(0.1 + 0.2 != 0.3); // shall be true моя любимая проверка того, что язык использует родную арифметику с плавающей запятой. C++ #include <cstdio> int main() { printf("%d\n", (0.1 + 0.2 != 0.3)); return 0; } Вывод:...
18125 просмотров

Рекурсивно применять шаблоны к результирующему дереву в XSLT (постоянное свертывание)
Я пытаюсь применить свертывание констант к XML-представлениям простых числовых выражений. Сворачивание констант — это процесс замены константных (под)выражений их литеральными значениями. Частью свертывания констант является замена каждой бинарной...
792 просмотров
schedule 14.10.2022

Внутренности Perl и Moose: оптимизация с постоянным свертыванием
Мне было любопытно узнать об оптимизации свертывания констант, которую выполняет Perl, но оказалось, что когда в коде участвует Moose, есть вероятность, что свертывание констант не будет выполнено (пожалуйста, поправьте меня, если я ошибаюсь). У...
234 просмотров
schedule 20.04.2023

log(10.0) может компилироваться, но log(0.0) не может с неопределенной ссылкой?
Для следующего исходного кода C : #include <math.h> int main(void) { double x; x = log(0.0); return 0; } Когда я компилирую с gcc -lm , я получаю: /tmp/ccxxANVH.o: In function `main': a.c:(.text+0xd):...
3157 просмотров
schedule 28.01.2023

Минимальное гарантированное свертывание констант в C
Вопрос Мне любопытно, есть ли какие-либо гарантии того, что константное свертывание выполняется в C. Где я смотрел По этой ссылке на сайте, репутация которого мне неизвестна, дается небрежный комментарий: Все компиляторы C могут...
282 просмотров

Компилятор не сворачивает константы для маскирующего класса
Для встроенного проекта я использую вспомогательные классы для флагов и масок. По неизвестным причинам код класса маски неправильно свернут константы, как ожидалось. Минимальная реализация маски показана ниже: template<typename Enum,...
75 просмотров
schedule 01.05.2024