[snapshot 0.2.0] all macros tested and working as expected [+3]

[new] test file for all macros added. It also shows how macros are used.
[change] member "min_w" has been changed to its inverse meaning "level". This improves readability and speeds up common loops like "while(!_fff_is_empty(...))" slightly
[change] inline functions temporary commented
This commit is contained in:
nqtronix
2018-09-26 09:19:46 +02:00
parent de49e94b1f
commit be8ab9635c
3 changed files with 381 additions and 171 deletions
+15 -15
View File
@@ -8,18 +8,18 @@
#include "fifofast.h"
extern inline uint8_t fff_wrap(fff8_t *fifo, uint8_t idx) __attribute__((__always_inline__));
extern inline uint8_t fff_data_size(fff8_t *fifo) __attribute__((__always_inline__));
extern inline uint8_t fff_is_empty(fff8_t *fifo) __attribute__((__always_inline__));
extern inline uint8_t fff_is_full(fff8_t *fifo) __attribute__((__always_inline__));
extern inline uint8_t fff_mem_used(fff8_t *fifo) __attribute__((__always_inline__));
extern inline uint8_t fff_mem_free(fff8_t *fifo) __attribute__((__always_inline__));
extern inline void fff_flush(fff8_t *fifo) __attribute__((__always_inline__));
extern inline void fff_remove(fff8_t *fifo, uint8_t amount) __attribute__((__always_inline__));
extern inline void fff_write(fff8_t *fifo, void *data) __attribute__((__always_inline__));
extern inline void fff_write_safe(fff8_t *fifo, void *data) __attribute__((__always_inline__));
extern inline void* fff_peek_read(fff8_t *fifo, uint8_t idx) __attribute__((__always_inline__));
extern inline void fff_peek_write(fff8_t *fifo, uint8_t idx, void *data) __attribute__((__always_inline__));
// extern inline uint8_t fff_wrap(fff8_t *fifo, uint8_t idx) __attribute__((__always_inline__));
// extern inline uint8_t fff_data_size(fff8_t *fifo) __attribute__((__always_inline__));
//
// extern inline uint8_t fff_is_empty(fff8_t *fifo) __attribute__((__always_inline__));
// extern inline uint8_t fff_is_full(fff8_t *fifo) __attribute__((__always_inline__));
// extern inline uint8_t fff_mem_used(fff8_t *fifo) __attribute__((__always_inline__));
// extern inline uint8_t fff_mem_free(fff8_t *fifo) __attribute__((__always_inline__));
//
// extern inline void fff_flush(fff8_t *fifo) __attribute__((__always_inline__));
// extern inline void fff_remove(fff8_t *fifo, uint8_t amount) __attribute__((__always_inline__));
// extern inline void fff_write(fff8_t *fifo, void *data) __attribute__((__always_inline__));
// extern inline void fff_write_safe(fff8_t *fifo, void *data) __attribute__((__always_inline__));
//
// extern inline void* fff_peek_read(fff8_t *fifo, uint8_t idx) __attribute__((__always_inline__));
// extern inline void fff_peek_write(fff8_t *fifo, uint8_t idx, void *data) __attribute__((__always_inline__));
+151 -138
View File
File diff suppressed because it is too large Load Diff
+215 -18
View File
File diff suppressed because it is too large Load Diff