ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

Commit: 295b9c4872d6d7725c3e0f95de661c015bfd9aea
Parent: 7cee2865b1033e93af547c278275f08c0df4981c
Author: Randy Palamar
Date:   Tue, 16 Dec 2025 06:45:38 -0700

util: better reverse memory scan

This is easier to read an produces better assembly.

Diffstat:
Mutil.c | 13++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/util.c b/util.c @@ -23,6 +23,15 @@ mem_move(u8 *dest, u8 *src, uz n) } function void * +memory_scan_backwards(void *memory, u8 byte, iz n) +{ + void *result = 0; + u8 *s = memory; + while (n > 0) if (s[--n] == byte) { result = s + n; break; } + return result; +} + +function void * arena_aligned_start(Arena a, uz alignment) { uz padding = -(uintptr_t)a.beg & (alignment - 1); @@ -479,9 +488,7 @@ c_str_to_s8(char *cstr) function iz s8_scan_backwards(s8 s, u8 byte) { - iz result = s.len; - while (result && s.data[result - 1] != byte) result--; - result--; + iz result = (u8 *)memory_scan_backwards(s.data, byte, s.len) - s.data; return result; }