aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarat Dukhan <maratek@gmail.com>2017-03-06 13:46:19 -0500
committerMarat Dukhan <maratek@gmail.com>2017-03-06 13:46:19 -0500
commit177a6f2a29a9c7abc7a80578267631bd108a7153 (patch)
treec3c4b4c4226a90b30087f4ebcf38de34d18221bc
parentdac9fce76e8304c43ad8f653c418d7a4889e4b68 (diff)
downloadFXdiv-177a6f2a29a9c7abc7a80578267631bd108a7153.tar.gz
fxdiv_remainder_* functions
-rw-r--r--include/fxdiv.h15
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;