On Tuesday, 17 May 2022 at 11:43:45 UTC, Siarhei Siamashka wrote:
Looks like you forgot to increment the pointer and need "*d++ =
cast(ubyte) c;" there.
hahaha yup.
And filling the buffer one byte at a time is likely slow.
prolly but meh, that's where the intrinsics are nice.
On Tuesday, 17 May 2022 at 11:36:21 UTC, Adam D Ruppe wrote:
Oh I should have checked my impl, where I did all this already!
https://github.com/adamdruppe/webassembly/blob/master/arsd-webassembly/object.d#L263
Looks like you forgot to increment the pointer and need "*d++ =
cast(ubyte) c;" the
On Monday, 16 May 2022 at 18:17:03 UTC, Allen Garvey wrote:
Thanks so much, that fixed the problem! You have no idea have
long I have spent trying to debug this!
Oh I should have checked my impl, where I did all this already!
https://github.com/adamdruppe/webassembly/blob/master/arsd-webassemb
On Tuesday, 17 May 2022 at 09:38:31 UTC, Sergey wrote:
On Monday, 16 May 2022 at 17:32:20 UTC, Allen Garvey wrote:
I'm working on a comparison of WebAssembly performance for
error propagation dithering using D, C++ and Zig. So far C++
and Zig work as expected, but for D, despite using the same
On Monday, 16 May 2022 at 17:32:20 UTC, Allen Garvey wrote:
I'm working on a comparison of WebAssembly performance for
error propagation dithering using D, C++ and Zig. So far C++
and Zig work as expected, but for D, despite using the same
algorithm and similar code the output is different.
H
On Monday, 16 May 2022 at 18:14:13 UTC, kinke wrote:
The problem is the memset signature. You assume the length is
the number of floats, while it's the number of *bytes* to be
set to the specified value.
https://en.cppreference.com/w/c/string/byte/memset
Thanks so much, that fixed the problem
On Monday, 16 May 2022 at 18:05:00 UTC, Adam D Ruppe wrote:
I would suspect it is something to do with your memset... even
if it needs to take the int (wtf but ldc is weird) you might
want to reinterpret cast it to float to avoid any extra
conversions.
I was thinking memset might be the case,
The problem is the memset signature. You assume the length is the
number of floats, while it's the number of *bytes* to be set to
the specified value.
https://en.cppreference.com/w/c/string/byte/memset
I would suspect it is something to do with your memset... even if
it needs to take the int (wtf but ldc is weird) you might want to
reinterpret cast it to float to avoid any extra conversions.
I'm working on a comparison of WebAssembly performance for error
propagation dithering using D, C++ and Zig. So far C++ and Zig
work as expected, but for D, despite using the same algorithm and
similar code the output is different.
You can see the differences here
https://wasm-error-propagati
10 matches
Mail list logo