Вопросы по теме '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 просмотров
schedule
13.06.2022
Рекурсивно применять шаблоны к результирующему дереву в 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 просмотров
schedule
17.09.2023
Компилятор не сворачивает константы для маскирующего класса
Для встроенного проекта я использую вспомогательные классы для флагов и масок. По неизвестным причинам код класса маски неправильно свернут константы, как ожидалось.
Минимальная реализация маски показана ниже:
template<typename Enum,...
75 просмотров
schedule
01.05.2024