From: Chris Duncan Date: Thu, 2 Jan 2025 13:50:34 +0000 (-0800) Subject: Fix pointer dereferencing which was creating a copy instead of modifying pointee. X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=06bd4a6649d5388c6f315116f1bc58c6c7a6708d;p=libnemo.git Fix pointer dereferencing which was creating a copy instead of modifying pointee. --- diff --git a/src/lib/workers/powgpu.ts b/src/lib/workers/powgpu.ts index 58d3185..18e883c 100644 --- a/src/lib/workers/powgpu.ts +++ b/src/lib/workers/powgpu.ts @@ -82,15 +82,14 @@ export class PowGpu extends WorkerInterface { * Sets v[a,a+1] += b * b0 is the low 32 bits of b, b1 represents the high 32 bits */ - fn add_uint64 (vv: ptr>, a: u32, b0: u32, b1: u32) { - var v: array = (*vv); - var o0: u32 = v[a] + b0; - var o1: u32 = v[a+1u] + b1; - if (v[a] > 0xFFFFFFFFu - b0) { // did low 32 bits overflow? + fn add_uint64 (ptr_v: ptr>, a: u32, b0: u32, b1: u32) { + var o0: u32 = (*ptr_v)[a] + b0; + var o1: u32 = (*ptr_v)[a+1u] + b1; + if ((*ptr_v)[a] > 0xFFFFFFFFu - b0) { // did low 32 bits overflow? o1 = o1 + 1u; } - v[a] = o0; - v[a+1u] = o1; + (*ptr_v)[a] = o0; + (*ptr_v)[a+1u] = o1; } /**