diff options
author | Marat Dukhan <maratek@gmail.com> | 2017-03-06 13:46:19 -0500 |
---|---|---|
committer | Marat Dukhan <maratek@gmail.com> | 2017-03-06 13:46:19 -0500 |
commit | 177a6f2a29a9c7abc7a80578267631bd108a7153 (patch) | |
tree | c3c4b4c4226a90b30087f4ebcf38de34d18221bc | |
parent | dac9fce76e8304c43ad8f653c418d7a4889e4b68 (diff) | |
download | FXdiv-177a6f2a29a9c7abc7a80578267631bd108a7153.tar.gz |
fxdiv_remainder_* functions
-rw-r--r-- | include/fxdiv.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/fxdiv.h b/include/fxdiv.h index 7fa7e5f..01505fb 100644 --- a/include/fxdiv.h +++ b/include/fxdiv.h @@ -351,6 +351,21 @@ static inline size_t fxdiv_quotient_size_t(size_t n, const struct fxdiv_divisor_ #endif } +static inline uint32_t fxdiv_remainder_uint32_t(uint32_t n, const struct fxdiv_divisor_uint32_t divisor) { + const uint32_t quotient = fxdiv_quotient_uint32_t(n, divisor); + return n - quotient * divisor.value; +} + +static inline uint64_t fxdiv_remainder_uint64_t(uint64_t n, const struct fxdiv_divisor_uint64_t divisor) { + const uint64_t quotient = fxdiv_quotient_uint64_t(n, divisor); + return n - quotient * divisor.value; +} + +static inline size_t fxdiv_remainder_size_t(size_t n, const struct fxdiv_divisor_size_t divisor) { + const size_t quotient = fxdiv_quotient_size_t(n, divisor); + return n - quotient * divisor.value; +} + static inline uint32_t fxdiv_round_down_uint32_t(uint32_t n, const struct fxdiv_divisor_uint32_t granularity) { const uint32_t quotient = fxdiv_quotient_uint32_t(n, granularity); return quotient * granularity.value; |