Size: a a a

pro.graphon (and gamedev)

2020 June 28

AT

Anatoly Tomilov in pro.graphon (and gamedev)
disba1ancer
ты это к чему ответил?
Про duff's device
источник

PK

Pavel Kazakov in pro.graphon (and gamedev)
Serhii Herashchenko
Та юинт вроде можно, по крайней мерн в с++
сейчас посмотрел, даже в Си unsigned integer type можно переполнять; но UINT_MAX + 1 будет просто 0 (не сразу в голову пришло), поэтому не знаю зачем эту операцию делать)
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Шутка
источник

d

disba1ancer in pro.graphon (and gamedev)
Pavel Kazakov
сейчас посмотрел, даже в Си unsigned integer type можно переполнять; но UINT_MAX + 1 будет просто 0 (не сразу в голову пришло), поэтому не знаю зачем эту операцию делать)
затем что это был псевдокод, т.е. нужно рассчитать результат деления нуля с единицей в переполнении на делитель
источник

M

Mind in pro.graphon (and gamedev)
Timur Gagiev
деление дороже
fast inv sqrt? И потом умножить два раза? Если целочисленные операции быстрее
источник

d

disba1ancer in pro.graphon (and gamedev)
Mind
fast inv sqrt? И потом умножить два раза? Если целочисленные операции быстрее
оно только для флоатов, не?
источник

d

disba1ancer in pro.graphon (and gamedev)
а ему для целых надо
источник

PK

Pavel Kazakov in pro.graphon (and gamedev)
disba1ancer
затем что это был псевдокод, т.е. нужно рассчитать результат деления нуля с единицей в переполнении на делитель
что за "результат деления нуля с единицей в переполнении"? не могу распарсить
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
я где-то видел реализацию fast rcp32, но не понимаю как это работает для целых
источник

d

disba1ancer in pro.graphon (and gamedev)
Pavel Kazakov
что за "результат деления нуля с единицей в переполнении"? не могу распарсить
представь регистр с нулевым значением и что у нас в регистре флагов выставлен флаг переполнения/переноса, так вот делим на делитель с учётом значения жтого флага
источник

M

Mind in pro.graphon (and gamedev)
А значения большие? Может можно просто таблично?
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Mind
А значения большие? Может можно просто таблично?
8:8 целое в байт умещается, под дробную часть тоже байта достаточно
источник

M

Mind in pro.graphon (and gamedev)
Ну это 16 кбайт таблица. Можно и попробовать, если памяти под такое хватит
источник

d

disba1ancer in pro.graphon (and gamedev)
Timur Gagiev
8:8 целое в байт умещается, под дробную часть тоже байта достаточно
8 бит на 8 бит делишь?
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Mind
Ну это 16 кбайт таблица. Можно и попробовать, если памяти под такое хватит
памяти хватит, но медленной, кеша нет )
источник

M

Mind in pro.graphon (and gamedev)
Ну тут вопрос медленее ли память чем деление
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
disba1ancer
8 бит на 8 бит делишь?
это fixed point формат
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Mind
Ну тут вопрос медленее ли память чем деление
ага, вопрос хороший
источник

PK

Pavel Kazakov in pro.graphon (and gamedev)
disba1ancer
представь регистр с нулевым значением и что у нас в регистре флагов выставлен флаг переполнения/переноса, так вот делим на делитель с учётом значения жтого флага
"переполнение" значит, что значение не может быть представлено — это для знаковых типов актуально, а с беззнаковыми типами всё well defined; не будет с беззнаковыми типами этот флаг взведен
источник

d

disba1ancer in pro.graphon (and gamedev)
Timur Gagiev
это fixed point формат
ааа 16 бит - 8 целая часть, 8 дробная
источник