src/ascension/utils.h

changeset 58
26ebb2f1e6e6
parent 14
9dbfc0031887
child 61
b7954818a6b7
     1.1 --- a/src/ascension/utils.h	Wed Apr 10 19:43:34 2024 +0200
     1.2 +++ b/src/ascension/utils.h	Fri Apr 12 22:03:15 2024 +0200
     1.3 @@ -30,17 +30,11 @@
     1.4  
     1.5  #include <stdbool.h>
     1.6  
     1.7 -static inline bool asc_test_flag(unsigned int reg, int flag) {
     1.8 -    return (reg & flag) == flag;
     1.9 -}
    1.10 -
    1.11 -static inline void asc_set_flag(unsigned int *reg, int flag) {
    1.12 -    *reg |= flag;
    1.13 -}
    1.14 -
    1.15 -static inline void asc_clear_flag(unsigned int *reg, int flag) {
    1.16 -    *reg &= ~flag;
    1.17 -}
    1.18 +#define asc_test_flag(reg, flag) ((reg & flag) == flag)
    1.19 +#define asc_test_flag_masked(reg, mask, flag) ((reg & mask) == flag)
    1.20 +#define asc_clear_flag(reg, flag) (reg &= ~flag)
    1.21 +#define asc_set_flag(reg, flag) (reg |= flag)
    1.22 +#define asc_set_flag_masked(reg, mask, flag) (reg = (reg & ~mask) | flag)
    1.23  
    1.24  #endif /* ASCENSION_UTILS_H */
    1.25  

mercurial