:: commit f433a599d898d97fb161b7678d7c8f07478dbf0a

Kamila Szewczyk <kspalaiologos@gmail.com> — 2022-05-10 07:03

parents: 88dc101c67

define write_out/read_in as macros

diff --git a/src/cm.c b/src/cm.c
index 2d35f8b..3047ad9 100644
--- a/src/cm.c
+++ b/src/cm.c
@@ -27,12 +27,8 @@
 // Uses an arithmetic coder implementation outlined in:
 // http://mattmahoney.net/dc/dce.html#Section_31
 
-static inline void write_out(state * s, u8 c) { s->out_queue[s->output_ptr++] = c; }
-
-static inline u8 read_in(state * s) {
-    if (s->input_ptr < s->input_max) return s->in_queue[s->input_ptr++];
-    return -1;
-}
+#define write_out(s, c) (s)->out_queue[(s)->output_ptr++] = (c)
+#define read_in(s) ((s)->input_ptr < (s)->input_max ? (s)->in_queue[(s)->input_ptr++] : -1)
 
 // Encode a zero bit with given probability.
 static inline void encodebit0(state * s, u32 p) {
tab: 248 wrap: offon