Size: a a a

Programming Offtop

2021 May 03

RU

Roman Ushakov in Programming Offtop
У меня докер при автообновлении сделал 2 вещи
1. Дропнул все образы и данные
2. Дропнул себя

Я как ответственный разработчик сгорел аки Торвальдс декомпилировал докер и дропнул функцию автообновления
источник

DP

Defragmented Panda in Programming Offtop
на видеокарте

0.5+0.5-1.0 не равно 0

чтобы таки получить ноль нужно:

0.5+0.5-1.0-1.0/256.0

схренали?

в текстурах 8 бит на цвет. т.е. последний бит меняется.
источник

W

Wild_Wind in Programming Offtop
Может это из-за ieee754?
Всё-таки с плавучкой работаешь.
источник

W

Wild_Wind in Programming Offtop
Я к тому, что и на компе 0.1 + 0.2 = 0.299999999999. Или 0.30000000004
И это норма.
Ибо так реализована плавующая точка.
источник

DP

Defragmented Panda in Programming Offtop
но насколько я вкурсе 0.5 и 1 представляются плавающей точкой точно
источник

W

Wild_Wind in Programming Offtop
Да?
А какой яп? Какое железо, софтварный или аппаратный fpu? Какой тип данных? Какие флаги компиляции? Добавлял ли -ffast-math?
источник

AM

Andrew Mikhaylov in Programming Offtop
> на видеокарте
источник

W

Wild_Wind in Programming Offtop
а, точно. Сори, два ночи, туплю.
источник

W

Wild_Wind in Programming Offtop
Ну тогда да.
источник

DP

Defragmented Panda in Programming Offtop
glsl
mali400
gpu
float 8bit, 8бит локальная точность, для хранения
float 16 бит, 10 бит локальная точность, для вычисления
источник

АВ

А зачем Вам in Programming Offtop
Так, я так понял чиа начала торговаться? Прощай носители данных?
источник

AM

Andrew Mikhaylov in Programming Offtop
https://stackoverflow.com/a/16078220
В GLSL вроде должен быть всё тот же IEEE 754
Ответ правда древний, надо свежее инфу смотреть, но я сомневаюсь, что там чёт другое будет
источник

W

Wild_Wind in Programming Offtop
Все правильно.
А то, что 1 и 0.5 - ты точно в этом уверен?
Ибо я сильно сомневаюсь в том, что в имплементацию блоков плавучки кто-то будет захардкоривать представление единицы и 0.5.
источник

W

Wild_Wind in Programming Offtop
Ну тогда все нормально.
По стандарту.
А в случаях с 1 и 0.5 мог компилятор что-то соптимизировать. До отправки на gpu.
Какие флаги компиляции?
источник

W

Wild_Wind in Programming Offtop
Попробуй с -O0
источник

AM

Andrew Mikhaylov in Programming Offtop
0.5 само по себе должно представляться как 0x3f000000 без потери точности. А вот может ли там при вычислениях случиться потеря точности, судить не берусь.
источник

W

Wild_Wind in Programming Offtop
Вот и я о том и речь веду.
Что если он просто хранил, а после читал, то оно может быть и ок.
Но стоит добавить 0.1 и убавить 0.1, как сразу всё может поползти.
источник

AM

Andrew Mikhaylov in Programming Offtop
Ну там вроде нестрашное 0.5 + 0.5 - 1.0 в вопросе...
источник

AM

Andrew Mikhaylov in Programming Offtop
Но я не силён в этой теме, не интересовался глубоко, как арифметика в IEEE754 работает, могу не знать, чему тут ошибку наводить.
источник

DP

Defragmented Panda in Programming Offtop
0.5 - 0.5 норм кстати работает
источник