Size: a a a

WebAssembly — русскоговорящее сообщество

2020 February 28

AP

Andrei Pepul in WebAssembly — русскоговорящее сообщество
И при чём здесь тот твит?

Просто проинформировал, вдруг кто-то ещё здесь использует GLFW, и по незнанию опирается на документацию более новых версий.
источник

AP

Andrei Pepul in WebAssembly — русскоговорящее сообщество
https://gitrepos.virvig.eu/jfons/meshpipe/blob/0742db9cf02e584d6cf9bf4e9cef9092f01a74d8/thirdparty/pmp-library/src/pmp/visualization/Window.cpp#L435

Нашел решение проблемы premultiplied alpha (когда цвет канваса подмешивается к итоговому цвету пикселя) при использовании emscripten-glfw.
источник

AP

Andrei Pepul in WebAssembly — русскоговорящее сообщество
https://i.stack.imgur.com/Iuo7v.png

То есть, когда используешь синий с прозрачностью, чтобы был именно синий, а не синий смешанный с цветом канваса (белый по умолчанию).
источник
2020 February 29

M

MaxGraey in WebAssembly — русскоговорящее сообщество
В реализации exp/log/pow в libmusl имеются баги или проблемы реализации. Это произошло недавно после серий коммитов

https://git.musl-libc.org/cgit/musl/commit/?id=e16f7b3c02e17d0ace779a11f0d53a9c05fdd434
https://git.musl-libc.org/cgit/musl/commit/?id=2a3210cf4abff0a69ff3e7adc66591dfe6ab2197
https://git.musl-libc.org/cgit/musl/commit/?id=236cd056e871acb8731cd84b5bfb6f0feb646589

Это все реализации используются в стандартной библиотеки от ARM. Мы тоже их используем, но только для -O3

Самое интерестное что эти реализвации проходят все базовые и специальные тесты, и я совершенно случайно узнал, что например log/log2 теряют точность при больших аргументах:

https://github.com/AssemblyScript/assemblyscript/pull/1130#issuecomment-592264150
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
MaxGraey
В реализации exp/log/pow в libmusl имеются баги или проблемы реализации. Это произошло недавно после серий коммитов

https://git.musl-libc.org/cgit/musl/commit/?id=e16f7b3c02e17d0ace779a11f0d53a9c05fdd434
https://git.musl-libc.org/cgit/musl/commit/?id=2a3210cf4abff0a69ff3e7adc66591dfe6ab2197
https://git.musl-libc.org/cgit/musl/commit/?id=236cd056e871acb8731cd84b5bfb6f0feb646589

Это все реализации используются в стандартной библиотеки от ARM. Мы тоже их используем, но только для -O3

Самое интерестное что эти реализвации проходят все базовые и специальные тесты, и я совершенно случайно узнал, что например log/log2 теряют точность при больших аргументах:

https://github.com/AssemblyScript/assemblyscript/pull/1130#issuecomment-592264150
они могли также в wasi-libc попасть, они недавно на musl 1.2 перешли
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Возможно. Самое забавное что все ситетические тесты проходит)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Или там у них какой то очень глупый баг в одном из кейсов или же это фундаментальный недостаток в реализации с поисковыми таблицами. Непонятно. Я скоро выложу репозитарий наглядно демонстрирующий это со стандартной сишной библиотекой musl 1.2
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
В реализации exp/log/pow в libmusl имеются баги или проблемы реализации. Это произошло недавно после серий коммитов

https://git.musl-libc.org/cgit/musl/commit/?id=e16f7b3c02e17d0ace779a11f0d53a9c05fdd434
https://git.musl-libc.org/cgit/musl/commit/?id=2a3210cf4abff0a69ff3e7adc66591dfe6ab2197
https://git.musl-libc.org/cgit/musl/commit/?id=236cd056e871acb8731cd84b5bfb6f0feb646589

Это все реализации используются в стандартной библиотеки от ARM. Мы тоже их используем, но только для -O3

Самое интерестное что эти реализвации проходят все базовые и специальные тесты, и я совершенно случайно узнал, что например log/log2 теряют точность при больших аргументах:

https://github.com/AssemblyScript/assemblyscript/pull/1130#issuecomment-592264150
Вот демонстрация проблемы и сравнение с Math.log/Math.log2 из JS и более старой версией musl 1.1.15:

https://github.com/MaxGraey/mandelbrot-issue-demo
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
MaxGraey
Вот демонстрация проблемы и сравнение с Math.log/Math.log2 из JS и более старой версией musl 1.1.15:

https://github.com/MaxGraey/mandelbrot-issue-demo
Сделай радиус выброса больше, не 2*2, а 1000*1000
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Это правда такая ошибка большая?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🛸
Сделай радиус выброса больше, не 2*2, а 1000*1000
Не понял. Какой еще радиус выброса?
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Можно просто график фунции log до и после нарисовать, так много лишнего кода.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Это ничего не меняет
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🛸
Можно просто график фунции log до и после нарисовать, так много лишнего кода.
Зато наглядная демонстрация
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
MaxGraey
Зато наглядная демонстрация
Ну нагляднее обычный график, так как вдруг там где то ошибка, нужно делать ревью всего кода.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🛸
Ну нагляднее обычный график, так как вдруг там где то ошибка, нужно делать ревью всего кода.
Так там и есть ошибка) Только она в библиотеке musl
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
График тебе мало что покажет потому что проблема там начинаеться при очень больших аргументах, когда линия почти параллельна оси x. И ошибка там в 1-2 знаках всего и на огромных диапазонах. Хз как это продемонстрировать вообще
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Так там ошибка в диапазоне [-1, 1]. Это аппроксимация cos(acos(x) / 3)
источник