ogl_beamforming

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

Commit: 6cccfe00b1445c336730fd0869ad616bdee2e254
Parent: 5373fda164328953e538ada42fe564c122a63cc7
Author: Randy Palamar
Date:   Sat, 22 Feb 2025 16:13:38 -0700

util: add stream_append for raw data with less typing

Diffstat:
Mstatic.c | 2+-
Mutil.c | 29+++++++++++++++--------------
2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/static.c b/static.c @@ -48,7 +48,7 @@ gl_debug_logger(u32 src, u32 type, u32 id, u32 lvl, i32 len, const char *msg, co case GL_DEBUG_SEVERITY_NOTIFICATION: stream_append_s8(e, s8("NOTIFICATION]: ")); break; default: stream_append_s8(e, s8("INVALID]: ")); break; } - stream_append_s8(e, (s8){.len = len, .data = (u8 *)msg}); + stream_append(e, (char *)msg, len); stream_append_byte(e, '\n'); os_write_err_msg(stream_to_s8(e)); e->widx = 0; diff --git a/util.c b/util.c @@ -121,31 +121,32 @@ stream_to_s8(Stream *s) } static void +stream_append(Stream *s, void *data, size count) +{ + s->errors |= (s->cap - s->widx) < count; + if (!s->errors) { + mem_copy(data, s->data + s->widx, count); + s->widx += count; + } +} + +static void stream_append_byte(Stream *s, u8 b) { - s->errors |= s->widx + 1 > s->cap; - if (!s->errors) - s->data[s->widx++] = b; + stream_append(s, &b, 1); } static void stream_append_s8(Stream *s, s8 str) { - s->errors |= (s->cap - s->widx) < str.len; - if (!s->errors) { - mem_copy(str.data, s->data + s->widx, str.len); - s->widx += str.len; - } + stream_append(s, str.data, str.len); } static void stream_append_s8_array(Stream *s, s8 *strs, size count) { - while (count > 0) { - stream_append_s8(s, *strs); - strs++; - count--; - } + for (size i = 0; i < count; i++) + stream_append(s, strs[i].data, strs[i].len); } static void @@ -155,7 +156,7 @@ stream_append_u64(Stream *s, u64 n) u8 *end = tmp + sizeof(tmp); u8 *beg = end; do { *--beg = '0' + (n % 10); } while (n /= 10); - stream_append_s8(s, (s8){.len = end - beg, .data = beg}); + stream_append(s, beg, end - beg); } static void