From 4c4576cd6e5d3dbf1fe584300cede2286bf1d49a Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 6 Dec 2025 10:25:40 +0100 Subject: Document in which version everything was added MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libj2.h | 8 +++ libj2/addition.h | 28 ++++++++ libj2/bit-scanning.h | 46 +++++++++++++ libj2/bit-shifting.h | 44 ++++++++++++ libj2/bitwise-logic.h | 160 ++++++++++++++++++++++++++++++++++++++++++++ libj2/constants.h | 12 ++++ libj2/constructors.h | 2 + libj2/division.h | 40 +++++++++++ libj2/multiplication.h | 44 ++++++++++++ libj2/sign-shifting.h | 4 ++ libj2/signum.h | 4 ++ libj2/subtraction.h | 44 ++++++++++++ libj2/unsigned-comparsion.h | 82 +++++++++++++++++++++++ 13 files changed, 518 insertions(+) diff --git a/libj2.h b/libj2.h index 4130c97..bb4832b 100644 --- a/libj2.h +++ b/libj2.h @@ -25,11 +25,15 @@ /** * The number of bits in an `uintmax_t` + * + * @since 1.0 */ #define LIBJ2_JU_BIT ((unsigned)CHAR_BIT * (unsigned)sizeof(uintmax_t)) /** * The number of bits in an `struct libj2_j2u` + * + * @since 1.0 */ #define LIBJ2_J2U_BIT (2U * LIBJ2_JU_BIT) @@ -38,6 +42,8 @@ * Unsigned double-maximum precision integer * * If `uintmax_t` is a 64-bit type, this `struct` is a 128-bit type + * + * @since 1.0 */ struct libj2_j2u { /** @@ -58,6 +64,8 @@ struct libj2_j2u { * Use by some functions for which prediction * is costly in edge cases, and thus stopped * as soon as such an edge case is detected + * + * @since 1.0 */ enum libj2_overflow { /** diff --git a/libj2/addition.h b/libj2/addition.h index d0a57bf..033284e 100644 --- a/libj2/addition.h +++ b/libj2/addition.h @@ -12,6 +12,8 @@ * * @param a The augend, and output parameter for the sum * @param b The addend + * + * @since 1.0 */ inline void libj2_j2u_add_ju(struct libj2_j2u *a, uintmax_t b) @@ -38,6 +40,8 @@ libj2_j2u_add_ju(struct libj2_j2u *a, uintmax_t b) * @param b The addend * @return 1 on overflow (the highest set bit in the sum * cannot be stored in the result), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_add_ju_overflow(struct libj2_j2u *a, uintmax_t b) @@ -69,6 +73,8 @@ libj2_j2u_add_ju_overflow(struct libj2_j2u *a, uintmax_t b) * @param a The augend * @param b The addend * @param res Output parameter for the sum + * + * @since 1.0 */ inline void libj2_j2u_add_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -95,6 +101,8 @@ libj2_j2u_add_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The augend * @param b The addend * @param res Output parameter for the sum + * + * @since 1.0 */ inline void libj2_ju_add_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -115,6 +123,8 @@ libj2_ju_add_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @param res Output parameter for the sum * @return 1 on overflow (the highest set bit in the sum * cannot be stored in the result), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_add_ju_to_j2u_overflow(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -150,6 +160,8 @@ libj2_j2u_add_ju_to_j2u_overflow(const struct libj2_j2u *a, uintmax_t b, struct * @param res Output parameter for the sum * @return 1 on overflow (the highest set bit in the sum * cannot be stored in the result), 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_add_j2u_to_j2u_overflow(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -169,6 +181,8 @@ libj2_ju_add_j2u_to_j2u_overflow(uintmax_t a, const struct libj2_j2u *b, struct * @param a The augend * @param b The addend * @param res Output parameter for the sum + * + * @since 1.0 */ inline void libj2_ju_add_ju_to_j2u(uintmax_t a, uintmax_t b, struct libj2_j2u *res) @@ -190,6 +204,8 @@ libj2_ju_add_ju_to_j2u(uintmax_t a, uintmax_t b, struct libj2_j2u *res) * * @param a The augend, and output parameter for the sum * @param b The addend + * + * @since 1.0 */ inline void libj2_j2u_add_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -214,6 +230,8 @@ libj2_j2u_add_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The augend * @param b The addend * @param res Output parameter for the sum + * + * @since 1.0 */ inline void libj2_j2u_add_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -243,6 +261,8 @@ libj2_j2u_add_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param b The addend * @return 1 on overflow (the highest set bit in the sum * cannot be stored in the result), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_add_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -279,6 +299,8 @@ libj2_j2u_add_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) * @param res Output parameter for the sum * @return 1 on overflow (the highest set bit in the sum * cannot be stored in the result), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_add_j2u_to_j2u_overflow(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -325,6 +347,8 @@ libj2_j2u_add_j2u_to_j2u_overflow(const struct libj2_j2u *a, const struct libj2_ * @param a The augend * @param b The addend * @return 1 if the addition would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_add_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) @@ -344,6 +368,8 @@ libj2_j2u_add_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) * @param a The augend * @param b The addend * @return 1 if the addition would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_add_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b) @@ -364,6 +390,8 @@ libj2_ju_add_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b) * @param a The augend * @param b The addend * @return 1 if the addition would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_add_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u *b) diff --git a/libj2/bit-scanning.h b/libj2/bit-scanning.h index 963f2e2..885d956 100644 --- a/libj2/bit-scanning.h +++ b/libj2/bit-scanning.h @@ -11,6 +11,8 @@ * @param a The integer to inspect * @return The number of zeroes after the most signficant set * bit in `a`, `LIBJ2_J2U_BIT` if `a` has the value 0 + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_clz_j2u(const struct libj2_j2u *a) @@ -43,6 +45,8 @@ libj2_clz_j2u(const struct libj2_j2u *a) * @param a The integer to inspect * @return The number of ones after the most signficant cleared * bit in `a`, `LIBJ2_J2U_BIT` if all bits in `a` are set + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_clo_j2u(const struct libj2_j2u *a) @@ -58,6 +62,8 @@ libj2_clo_j2u(const struct libj2_j2u *a) * @param a The integer to inspect * @return The number of zeroes before the least signficant set * bit in `a`, `LIBJ2_J2U_BIT` if `a` has the value 0 + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_ctz_j2u(const struct libj2_j2u *a) @@ -89,6 +95,8 @@ libj2_ctz_j2u(const struct libj2_j2u *a) * @param a The integer to inspect * @return The number of ones before the leadt signficant cleared * bit in `a`, `LIBJ2_J2U_BIT` if all bits in `a` are set + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_cto_j2u(const struct libj2_j2u *a) @@ -103,6 +111,8 @@ libj2_cto_j2u(const struct libj2_j2u *a) * * @param a The integer to inspect * @return The number of set bits in `a` + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_co_j2u(const struct libj2_j2u *a) @@ -155,6 +165,8 @@ libj2_co_j2u(const struct libj2_j2u *a) * * @param a The integer to inspect * @return The number of cleared bits in `a` + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_cz_j2u(const struct libj2_j2u *a) @@ -172,6 +184,8 @@ libj2_cz_j2u(const struct libj2_j2u *a) * at the least significant bit, of the * least significant set bit in `a`, or * 0 if no bit is set + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_ffs_j2u(const struct libj2_j2u *a) @@ -190,6 +204,8 @@ libj2_ffs_j2u(const struct libj2_j2u *a) * at the least significant bit, of the * least significant cleared bit in `a`, * or 0 if no bit is cleared + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_ffc_j2u(const struct libj2_j2u *a) @@ -207,6 +223,8 @@ libj2_ffc_j2u(const struct libj2_j2u *a) * at the least significant bit, of the * most significant set bit in `a`, * or 0 if no bit is set + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_fls_j2u(const struct libj2_j2u *a) @@ -225,6 +243,8 @@ libj2_fls_j2u(const struct libj2_j2u *a) * at the least significant bit, of the * most significant cleared bit in `a`, * or 0 if no bit is cleared + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_flc_j2u(const struct libj2_j2u *a) @@ -240,6 +260,8 @@ libj2_flc_j2u(const struct libj2_j2u *a) * @param a The integer to inspect * @return 1 if the number of set bits in `a` * is odd, 0 otherwise (if even) + * + * @since 1.0 */ LIBJ2_PURE_ inline unsigned libj2_parity_j2u(const struct libj2_j2u *a) @@ -264,6 +286,8 @@ libj2_parity_j2u(const struct libj2_j2u *a) * integer except the least significant set bit * * @param a The integer to modify; will be updated + * + * @since 1.0 */ inline void libj2_kfs_j2u(struct libj2_j2u *a) @@ -280,6 +304,8 @@ libj2_kfs_j2u(struct libj2_j2u *a) * * @param a The integer to modify * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_kfs_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) @@ -297,6 +323,8 @@ libj2_kfs_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) * integer except the most significant set bit * * @param a The integer to modify; will be modified + * + * @since 1.0 */ inline void libj2_kls_j2u(struct libj2_j2u *a) @@ -313,6 +341,8 @@ libj2_kls_j2u(struct libj2_j2u *a) * * @param a The integer to modify * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_kls_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) @@ -330,6 +360,8 @@ libj2_kls_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) * unsigned double-max precision integer * * @param a The integer to modify; will be updated + * + * @since 1.0 */ inline void libj2_cfs_j2u(struct libj2_j2u *a) @@ -346,6 +378,8 @@ libj2_cfs_j2u(struct libj2_j2u *a) * * @param a The integer to modify * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_cfs_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) @@ -363,6 +397,8 @@ libj2_cfs_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) * unsigned double-max precision integer * * @param a The integer to modify; will be modified + * + * @since 1.0 */ inline void libj2_cls_j2u(struct libj2_j2u *a) @@ -379,6 +415,8 @@ libj2_cls_j2u(struct libj2_j2u *a) * * @param a The integer to modify * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_cls_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) @@ -396,6 +434,8 @@ libj2_cls_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) * unsigned double-max precision integer * * @param a The integer to modify; will be updated + * + * @since 1.0 */ inline void libj2_sfc_j2u(struct libj2_j2u *a) @@ -412,6 +452,8 @@ libj2_sfc_j2u(struct libj2_j2u *a) * * @param a The integer to modify * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_sfc_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) @@ -429,6 +471,8 @@ libj2_sfc_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) * unsigned double-max precision integer * * @param a The integer to modify; will be modified + * + * @since 1.0 */ inline void libj2_slc_j2u(struct libj2_j2u *a) @@ -445,6 +489,8 @@ libj2_slc_j2u(struct libj2_j2u *a) * * @param a The integer to modify * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_slc_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) diff --git a/libj2/bit-shifting.h b/libj2/bit-shifting.h index bb691bc..acceb4c 100644 --- a/libj2/bit-shifting.h +++ b/libj2/bit-shifting.h @@ -20,6 +20,8 @@ * @param a The integer to shift, also used as the * output parameter for the result * @param b The number of positions to shift each bit + * + * @since 1.0 */ inline void libj2_j2u_lsh(struct libj2_j2u *a, unsigned b) @@ -54,6 +56,8 @@ libj2_j2u_lsh(struct libj2_j2u *a, unsigned b) * @param a The integer to shift * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_lsh_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -89,6 +93,8 @@ libj2_j2u_lsh_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *re * @param a The integer to shift * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_lsh_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) @@ -117,6 +123,8 @@ libj2_ju_lsh_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) * @param b The number of positions to shift each bit * @return 1 if any set bit was discarded because * it was shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_lsh_overflow(struct libj2_j2u *a, unsigned b) @@ -167,6 +175,8 @@ libj2_j2u_lsh_overflow(struct libj2_j2u *a, unsigned b) * @param res Output parameter for the result * @return 1 if any set bit was discarded because * it was shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_lsh_to_j2u_overflow(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -198,6 +208,8 @@ libj2_j2u_lsh_to_j2u_overflow(const struct libj2_j2u *a, unsigned b, struct libj * @param res Output parameter for the result * @return 1 if any set bit was discarded because * it was shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_lsh_to_j2u_overflow(uintmax_t a, unsigned b, struct libj2_j2u *res) @@ -223,6 +235,8 @@ libj2_ju_lsh_to_j2u_overflow(uintmax_t a, unsigned b, struct libj2_j2u *res) * @param a The integer to shift, also used as the * output parameter for the result * @param b The number of positions to shift each bit + * + * @since 1.0 */ inline void libj2_j2u_rsh(struct libj2_j2u *a, unsigned b) @@ -257,6 +271,8 @@ libj2_j2u_rsh(struct libj2_j2u *a, unsigned b) * @param a The integer to shift * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_rsh_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -285,6 +301,8 @@ libj2_j2u_rsh_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *re * @param a The integer to shift * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_rsh_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) @@ -313,6 +331,8 @@ libj2_ju_rsh_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) * @param b The number of positions to shift each bit * @return 1 if any set bit was discarded because * it was shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsh_underflow(struct libj2_j2u *a, unsigned b) @@ -363,6 +383,8 @@ libj2_j2u_rsh_underflow(struct libj2_j2u *a, unsigned b) * @param res Output parameter for the result * @return 1 if any set bit was discarded because * it was shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsh_to_j2u_underflow(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -394,6 +416,8 @@ libj2_j2u_rsh_to_j2u_underflow(const struct libj2_j2u *a, unsigned b, struct lib * @param res Output parameter for the result * @return 1 if any set bit was discarded because * it was shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_rsh_to_j2u_underflow(uintmax_t a, unsigned b, struct libj2_j2u *res) @@ -417,6 +441,8 @@ libj2_ju_rsh_to_j2u_underflow(uintmax_t a, unsigned b, struct libj2_j2u *res) * @param a The integer to rotate, also used as the * output parameter for the result * @param b The number of positions to shift each bit + * + * @since 1.0 */ inline void libj2_j2u_lrot(struct libj2_j2u *a, unsigned b) @@ -453,6 +479,8 @@ libj2_j2u_lrot(struct libj2_j2u *a, unsigned b) * @param a The integer to rotate * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_lrot_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -479,6 +507,8 @@ libj2_j2u_lrot_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *r * @param a The integer to rotate * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_lrot_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) @@ -502,6 +532,8 @@ libj2_ju_lrot_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) * @param a The integer to rotate, also used as the * output parameter for the result * @param b The number of positions to shift each bit + * + * @since 1.0 */ inline void libj2_j2u_rrot(struct libj2_j2u *a, unsigned b) @@ -538,6 +570,8 @@ libj2_j2u_rrot(struct libj2_j2u *a, unsigned b) * @param a The integer to rotate * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_rrot_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -564,6 +598,8 @@ libj2_j2u_rrot_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *r * @param a The integer to rotate * @param b The number of positions to shift each bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_rrot_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) @@ -585,6 +621,8 @@ libj2_ju_rrot_to_j2u(uintmax_t a, unsigned b, struct libj2_j2u *res) * @param a The integer to shift (dry-run) * @param b The number of positions to shift each bit * @return 1 if set bit would be be shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_lsh_overflow_p(const struct libj2_j2u *a, unsigned b) @@ -613,6 +651,8 @@ libj2_j2u_lsh_overflow_p(const struct libj2_j2u *a, unsigned b) * @param a The integer to shift (dry-run) * @param b The number of positions to shift each bit * @return 1 if set bit would be be shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_lsh_overflow_p(uintmax_t a, unsigned b) @@ -638,6 +678,8 @@ libj2_ju_lsh_overflow_p(uintmax_t a, unsigned b) * @param a The integer to shift (dry-run) * @param b The number of positions to shift each bit * @return 1 if set bit would be be shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsh_underflow_p(const struct libj2_j2u *a, unsigned b) @@ -666,6 +708,8 @@ libj2_j2u_rsh_underflow_p(const struct libj2_j2u *a, unsigned b) * @param a The integer to shift (dry-run) * @param b The number of positions to shift each bit * @return 1 if set bit would be be shifted out, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_rsh_underflow_p(uintmax_t a, unsigned b) diff --git a/libj2/bitwise-logic.h b/libj2/bitwise-logic.h index 288994b..b833e38 100644 --- a/libj2/bitwise-logic.h +++ b/libj2/bitwise-logic.h @@ -12,6 +12,8 @@ * @param b The index of the bit to test, * 0 for the least significant bit * @return 1 if the bit is set, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_test_bit(const struct libj2_j2u *a, unsigned b) @@ -33,6 +35,8 @@ libj2_j2u_test_bit(const struct libj2_j2u *a, unsigned b) * @param b The other integer * @return 1 if the two integers have set bits * in common, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_test_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -50,6 +54,8 @@ libj2_j2u_test_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param b The max precision integer * @return 1 if the two integers have set bits * in common, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_test_ju(const struct libj2_j2u *a, uintmax_t b) @@ -67,6 +73,8 @@ libj2_j2u_test_ju(const struct libj2_j2u *a, uintmax_t b) * @param b The max precision integer * @return 1 if high part of `a` have set bits * in common with `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_test_high_ju(const struct libj2_j2u *a, uintmax_t b) @@ -81,6 +89,8 @@ libj2_j2u_test_high_ju(const struct libj2_j2u *a, uintmax_t b) * * @param a The integer, also used as output * parameter for the result + * + * @since 1.0 */ inline void libj2_not_j2u(struct libj2_j2u *a) @@ -96,6 +106,8 @@ libj2_not_j2u(struct libj2_j2u *a) * * @param a The integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_not_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) @@ -113,6 +125,8 @@ libj2_not_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) * * @param a The integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_not_ju_to_j2u(uintmax_t a, struct libj2_j2u *res) @@ -129,6 +143,8 @@ libj2_not_ju_to_j2u(uintmax_t a, struct libj2_j2u *res) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_and_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -146,6 +162,8 @@ libj2_j2u_and_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_and_ju(struct libj2_j2u *a, uintmax_t b) @@ -162,6 +180,8 @@ libj2_j2u_and_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_and_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -179,6 +199,8 @@ libj2_j2u_and_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_and_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -196,6 +218,8 @@ libj2_j2u_and_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_and_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -211,6 +235,8 @@ libj2_ju_and_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_or_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -228,6 +254,8 @@ libj2_j2u_or_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_or_ju(struct libj2_j2u *a, uintmax_t b) @@ -243,6 +271,8 @@ libj2_j2u_or_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_or_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -260,6 +290,8 @@ libj2_j2u_or_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, st * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_or_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -277,6 +309,8 @@ libj2_j2u_or_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_or_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -292,6 +326,8 @@ libj2_ju_or_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_xor_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -309,6 +345,8 @@ libj2_j2u_xor_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_xor_ju(struct libj2_j2u *a, uintmax_t b) @@ -324,6 +362,8 @@ libj2_j2u_xor_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_xor_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -341,6 +381,8 @@ libj2_j2u_xor_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_xor_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -358,6 +400,8 @@ libj2_j2u_xor_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_xor_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -373,6 +417,8 @@ libj2_ju_xor_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nand_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -390,6 +436,8 @@ libj2_j2u_nand_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nand_ju(struct libj2_j2u *a, uintmax_t b) @@ -406,6 +454,8 @@ libj2_j2u_nand_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nand_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -423,6 +473,8 @@ libj2_j2u_nand_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nand_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -440,6 +492,8 @@ libj2_j2u_nand_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2 * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_nand_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -455,6 +509,8 @@ libj2_ju_nand_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2 * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nor_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -472,6 +528,8 @@ libj2_j2u_nor_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nor_ju(struct libj2_j2u *a, uintmax_t b) @@ -488,6 +546,8 @@ libj2_j2u_nor_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nor_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -505,6 +565,8 @@ libj2_j2u_nor_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nor_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -522,6 +584,8 @@ libj2_j2u_nor_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_nor_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -537,6 +601,8 @@ libj2_ju_nor_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_xnor_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -554,6 +620,8 @@ libj2_j2u_xnor_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_xnor_ju(struct libj2_j2u *a, uintmax_t b) @@ -570,6 +638,8 @@ libj2_j2u_xnor_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_xnor_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -587,6 +657,8 @@ libj2_j2u_xnor_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_xnor_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -604,6 +676,8 @@ libj2_j2u_xnor_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2 * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_xnor_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -619,6 +693,8 @@ libj2_ju_xnor_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2 * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_imply_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -640,6 +716,8 @@ libj2_j2u_imply_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_imply_ju(struct libj2_j2u *a, uintmax_t b) @@ -656,6 +734,8 @@ libj2_j2u_imply_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_imply_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -682,6 +762,8 @@ libj2_j2u_imply_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_imply_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -698,6 +780,8 @@ libj2_j2u_imply_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_if_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -716,6 +800,8 @@ libj2_j2u_if_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_if_ju(struct libj2_j2u *a, uintmax_t b) @@ -733,6 +819,8 @@ libj2_j2u_if_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_if_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -749,6 +837,8 @@ libj2_j2u_if_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, st * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_if_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -772,6 +862,8 @@ libj2_j2u_if_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_imply_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -788,6 +880,8 @@ libj2_ju_imply_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_if_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -803,6 +897,8 @@ libj2_ju_if_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nimply_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -821,6 +917,8 @@ libj2_j2u_nimply_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nimply_ju(struct libj2_j2u *a, uintmax_t b) @@ -838,6 +936,8 @@ libj2_j2u_nimply_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nimply_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -864,6 +964,8 @@ libj2_j2u_nimply_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nimply_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -886,6 +988,8 @@ libj2_j2u_nimply_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_ * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nif_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -907,6 +1011,8 @@ libj2_j2u_nif_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand integer, also used as the * output parameter for result * @param b The right-hand integer + * + * @since 1.0 */ inline void libj2_j2u_nif_ju(struct libj2_j2u *a, uintmax_t b) @@ -923,6 +1029,8 @@ libj2_j2u_nif_ju(struct libj2_j2u *a, uintmax_t b) * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nif_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -939,6 +1047,8 @@ libj2_j2u_nif_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nif_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -956,6 +1066,8 @@ libj2_j2u_nif_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_nimply_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -972,6 +1084,8 @@ libj2_ju_nimply_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_ * @param a The left-hand integer * @param b The right-hand integer * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_ju_nif_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -993,6 +1107,8 @@ libj2_ju_nif_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_and_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1023,6 +1139,8 @@ libj2_j2u_and_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_and_bit(struct libj2_j2u *a, unsigned b) @@ -1044,6 +1162,8 @@ libj2_j2u_and_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_or_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1074,6 +1194,8 @@ libj2_j2u_or_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_or_bit(struct libj2_j2u *a, unsigned b) @@ -1101,6 +1223,8 @@ libj2_j2u_or_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_xor_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1131,6 +1255,8 @@ libj2_j2u_xor_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_xor_bit(struct libj2_j2u *a, unsigned b) @@ -1158,6 +1284,8 @@ libj2_j2u_xor_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_if_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1188,6 +1316,8 @@ libj2_j2u_if_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_if_bit(struct libj2_j2u *a, unsigned b) @@ -1209,6 +1339,8 @@ libj2_j2u_if_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_imply_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1238,6 +1370,8 @@ libj2_j2u_imply_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_imply_bit(struct libj2_j2u *a, unsigned b) @@ -1259,6 +1393,8 @@ libj2_j2u_imply_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nand_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1291,6 +1427,8 @@ libj2_j2u_nand_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2 * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_nand_bit(struct libj2_j2u *a, unsigned b) @@ -1312,6 +1450,8 @@ libj2_j2u_nand_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nor_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1341,6 +1481,8 @@ libj2_j2u_nor_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_nor_bit(struct libj2_j2u *a, unsigned b) @@ -1362,6 +1504,8 @@ libj2_j2u_nor_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_xnor_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1391,6 +1535,8 @@ libj2_j2u_xnor_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2 * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_xnor_bit(struct libj2_j2u *a, unsigned b) @@ -1412,6 +1558,8 @@ libj2_j2u_xnor_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nif_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1444,6 +1592,8 @@ libj2_j2u_nif_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_nif_bit(struct libj2_j2u *a, unsigned b) @@ -1465,6 +1615,8 @@ libj2_j2u_nif_bit(struct libj2_j2u *a, unsigned b) * the right-hand integer, 0 for the least * significant bit * @param res Output parameter for the result + * + * @since 1.0 */ inline void libj2_j2u_nimply_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_j2u *res) @@ -1495,6 +1647,8 @@ libj2_j2u_nimply_bit_to_j2u(const struct libj2_j2u *a, unsigned b, struct libj2_ * @param b The index of bit that shall be set in * the right-hand integer, 0 for the least * significant bit + * + * @since 1.0 */ inline void libj2_j2u_nimply_bit(struct libj2_j2u *a, unsigned b) @@ -1519,6 +1673,8 @@ libj2_j2u_nimply_bit(struct libj2_j2u *a, unsigned b) * @param b Integer whose set bits should also be set in `a` * @return 1 if the set bits in `b` are also set in `a`, * 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_has_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -1537,6 +1693,8 @@ libj2_j2u_has_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param b Integer whose set bits should also be set in `a` * @return 1 if the set bits in `b` are also set in `a`, * 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_has_ju(const struct libj2_j2u *a, uintmax_t b) @@ -1557,6 +1715,8 @@ libj2_j2u_has_ju(const struct libj2_j2u *a, uintmax_t b) * most significant half (`a->high`) * @return 1 if the set bits in `b` are also set in `a->high`, * 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_has_high_ju(const struct libj2_j2u *a, uintmax_t b) diff --git a/libj2/constants.h b/libj2/constants.h index a13eeac..481c431 100644 --- a/libj2/constants.h +++ b/libj2/constants.h @@ -12,6 +12,8 @@ * * @param a The integer to inspect * @return 1 if `a` has the value 0, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_is_zero(const struct libj2_j2u *a) @@ -26,6 +28,8 @@ libj2_j2u_is_zero(const struct libj2_j2u *a) * `libj2_j2u_zero(res)` implements `(void)(*res = 0)` * * @param res The integer to assign the value 0 to + * + * @since 1.0 */ inline void libj2_j2u_zero(struct libj2_j2u *res) @@ -40,6 +44,8 @@ libj2_j2u_zero(struct libj2_j2u *res) * * @param a The integer to inspect * @return 1 if `a` has highest representable value, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_is_max(const struct libj2_j2u *a) @@ -53,6 +59,8 @@ libj2_j2u_is_max(const struct libj2_j2u *a) * precision integer * * @param res The integer to assign the value to + * + * @since 1.0 */ inline void libj2_j2u_max(struct libj2_j2u *res) @@ -70,6 +78,8 @@ libj2_j2u_max(struct libj2_j2u *res) * * @param a The integer to inspect * @return 1 if `a` has lowest representable value, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_is_min(const struct libj2_j2u *a) @@ -86,6 +96,8 @@ libj2_j2u_is_min(const struct libj2_j2u *a) * does the same thing as `libj2_j2u_zero(res)` * * @param res The integer to assign the value to + * + * @since 1.0 */ inline void libj2_j2u_min(struct libj2_j2u *res) diff --git a/libj2/constructors.h b/libj2/constructors.h index 3f2b8fe..12fd8f0 100644 --- a/libj2/constructors.h +++ b/libj2/constructors.h @@ -12,6 +12,8 @@ * * @param a The value to assign to `*res` * @param res The integer to assign the value `a` to + * + * @since 1.0 */ inline void libj2_ju_to_j2u(uintmax_t a, struct libj2_j2u *res) diff --git a/libj2/division.h b/libj2/division.h index 9797f4e..427c75e 100644 --- a/libj2/division.h +++ b/libj2/division.h @@ -20,6 +20,8 @@ * the output parameter for the remainder * @param b The divisor (right-hand) * @param res_q Output parameter for the quotient + * + * @since 1.0 */ inline void libj2_j2u_divmod_j2u_to_j2u(struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res_q) @@ -75,6 +77,8 @@ out: * @param b The divisor (right-hand) * @param res_q Output parameter for the quotient * @param res_r Output parameter for the remainder + * + * @since 1.0 */ inline void libj2_j2u_divmod_j2u_to_j2u_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, @@ -110,6 +114,8 @@ libj2_j2u_divmod_j2u_to_j2u_j2u(const struct libj2_j2u *a, const struct libj2_j2 * the output parameter for the remainder * @param b The divisor (right-hand) * @return The low half of the quotient + * + * @since 1.0 */ inline uintmax_t libj2_j2u_divmod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -140,6 +146,8 @@ libj2_j2u_divmod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * the output parameter for the remainder * @param b The divisor (right-hand) * @return The low half of the quotient + * + * @since 1.0 */ inline uintmax_t libj2_j2u_divmod_ju(struct libj2_j2u *a, uintmax_t b) @@ -179,6 +187,8 @@ libj2_j2u_divmod_ju(struct libj2_j2u *a, uintmax_t b) * the output parameter for the remainder * @param b The divisor (right-hand) * @param res_q Output parameter for the quotient + * + * @since 1.0 */ inline void libj2_j2u_divmod_ju_to_j2u(struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res_q) @@ -205,6 +215,8 @@ libj2_j2u_divmod_ju_to_j2u(struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *r * @param b The divisor (right-hand) * @param res_q Output parameter for the quotient * @param res_r Output parameter for the remainder + * + * @since 1.0 */ inline void libj2_j2u_divmod_ju_to_j2u_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res_q, struct libj2_j2u *res_r) @@ -234,6 +246,8 @@ libj2_j2u_divmod_ju_to_j2u_j2u(const struct libj2_j2u *a, uintmax_t b, struct li * the output parameter for the remainder * @param b The dividend (left-hand) * @param res_q Output parameter for the quotient + * + * @since 1.0 */ inline void libj2_j2u_rdivmod_j2u_to_j2u(struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res_q) @@ -266,6 +280,8 @@ libj2_j2u_rdivmod_j2u_to_j2u(struct libj2_j2u *a, const struct libj2_j2u *b, str * the output parameter for the remainder * @param b The dividend (left-hand) * @return The low half of the quotient + * + * @since 1.0 */ inline uintmax_t libj2_j2u_rdivmod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -286,6 +302,8 @@ libj2_j2u_rdivmod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The dividend (left-hand), also used as * the output parameter for the quotient * @param b The divisor (right-hand) + * + * @since 1.0 */ inline void libj2_j2u_div_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -306,6 +324,8 @@ libj2_j2u_div_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The dividend (left-hand) * @param b The divisor (right-hand) * @param res Output parameter for the quotient + * + * @since 1.0 */ inline void libj2_j2u_div_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -326,6 +346,8 @@ libj2_j2u_div_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a The dividend (left-hand) * @param b The divisor (right-hand) * @return The low half of the quotient + * + * @since 1.0 */ inline uintmax_t libj2_j2u_div_j2u_return(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -348,6 +370,8 @@ libj2_j2u_div_j2u_return(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The divisor (right-hand), also used as * the output parameter for the quotient * @param b The dividend (left-hand) + * + * @since 1.0 */ inline void libj2_j2u_rdiv_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -368,6 +392,8 @@ libj2_j2u_rdiv_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The dividend (left-hand), also used as * the output parameter for the quotient * @param b The divisor (right-hand) + * + * @since 1.0 */ inline void libj2_j2u_div_ju(struct libj2_j2u *a, uintmax_t b) @@ -389,6 +415,8 @@ libj2_j2u_div_ju(struct libj2_j2u *a, uintmax_t b) * @param a The dividend (left-hand) * @param b The divisor (right-hand) * @param res Output parameter for the quotient + * + * @since 1.0 */ inline void libj2_j2u_div_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -410,6 +438,8 @@ libj2_j2u_div_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The dividend (left-hand) * @param b The divisor (right-hand) * @return The low half of the quotient + * + * @since 1.0 */ inline uintmax_t libj2_j2u_div_ju_return(const struct libj2_j2u *a, uintmax_t b) @@ -429,6 +459,8 @@ libj2_j2u_div_ju_return(const struct libj2_j2u *a, uintmax_t b) * @param a The dividend (left-hand), also used as * the output parameter for the remainder * @param b The divisor (right-hand) + * + * @since 1.0 */ inline void libj2_j2u_mod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -448,6 +480,8 @@ libj2_j2u_mod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The dividend (left-hand) * @param b The divisor (right-hand) * @param res Output parameter for the remainder + * + * @since 1.0 */ inline void libj2_j2u_mod_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -477,6 +511,8 @@ libj2_j2u_mod_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a The divisor (right-hand), also used as * the output parameter for the remainder * @param b The dividend (left-hand) + * + * @since 1.0 */ inline void libj2_j2u_rmod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -497,6 +533,8 @@ libj2_j2u_rmod_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The dividend (left-hand), also used as * the output parameter for the remainder * @param b The divisor (right-hand) + * + * @since 1.0 */ inline void libj2_j2u_mod_ju(struct libj2_j2u *a, uintmax_t b) @@ -527,6 +565,8 @@ libj2_j2u_mod_ju(struct libj2_j2u *a, uintmax_t b) * @param a The dividend (left-hand) * @param b The divisor (right-hand) * @param res Output parameter for the remainder + * + * @since 1.0 */ inline void libj2_j2u_mod_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) diff --git a/libj2/multiplication.h b/libj2/multiplication.h index 09ead3c..eb0d9a5 100644 --- a/libj2/multiplication.h +++ b/libj2/multiplication.h @@ -15,6 +15,8 @@ * @param a The multiplier * @param b The multiplicand * @param res Output parameter for the product + * + * @since 1.0 */ inline void libj2_ju_mul_ju_to_j2u(uintmax_t a, uintmax_t b, struct libj2_j2u *res) @@ -71,6 +73,8 @@ libj2_ju_mul_ju_to_j2u(uintmax_t a, uintmax_t b, struct libj2_j2u *res) * @param a The multiplier, also used as the * output parameter for the product * @param b The multiplicand + * + * @since 1.0 */ inline void libj2_j2u_mul_ju(struct libj2_j2u *a, uintmax_t b) @@ -93,6 +97,8 @@ libj2_j2u_mul_ju(struct libj2_j2u *a, uintmax_t b) * @param a The multiplier * @param b The multiplicand * @param res Output parameter for the product + * + * @since 1.0 */ inline void libj2_j2u_mul_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -114,6 +120,8 @@ libj2_j2u_mul_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a The multiplier * @param b The multiplicand * @param res Output parameter for the product + * + * @since 1.0 */ inline void libj2_ju_mul_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -136,6 +144,8 @@ libj2_ju_mul_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * output parameter for the product * @param b The multiplicand * @return 1 if the result overflowed, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_ju_overflow(struct libj2_j2u *a, uintmax_t b) @@ -179,6 +189,8 @@ libj2_j2u_mul_ju_overflow(struct libj2_j2u *a, uintmax_t b) * @param b The multiplicand * @param res Output parameter for the product * @return 1 if the result overflowed, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_ju_to_j2u_overflow(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -202,6 +214,8 @@ libj2_j2u_mul_ju_to_j2u_overflow(const struct libj2_j2u *a, uintmax_t b, struct * @param b The multiplicand * @param res Output parameter for the product * @return 1 if the result overflowed, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_mul_j2u_to_j2u_overflow(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -224,6 +238,8 @@ libj2_ju_mul_j2u_to_j2u_overflow(uintmax_t a, const struct libj2_j2u *b, struct * @param b The multiplicand; will be tainted * * `a` and `b` must not be the same pointers + * + * @since 1.0 */ inline void libj2_j2u_mul_j2u_destructive(struct libj2_j2u *restrict a /* result */, struct libj2_j2u *restrict b /* destructed */) @@ -246,6 +262,8 @@ libj2_j2u_mul_j2u_destructive(struct libj2_j2u *restrict a /* result */, struct * @param a The multiplier, also used as the * output parameter for the product * @param b The multiplicand + * + * @since 1.0 */ inline void libj2_j2u_mul_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -270,6 +288,8 @@ libj2_j2u_mul_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @return 1 if the result overflowed, 0 otherwise * * `a` and `b` must not be the same pointers + * + * @since 1.0 */ inline int libj2_j2u_mul_j2u_overflow_destructive(struct libj2_j2u *restrict a /* result */, struct libj2_j2u *restrict b /* destructed */) @@ -317,6 +337,8 @@ libj2_j2u_mul_j2u_overflow_destructive(struct libj2_j2u *restrict a /* result */ * output parameter for the product * @param b The multiplicand * @return 1 if the result overflowed, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -336,6 +358,8 @@ libj2_j2u_mul_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The multiplier * @param b The multiplicand * @param res Output parameter for the product + * + * @since 1.0 */ inline void libj2_j2u_mul_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -356,6 +380,8 @@ libj2_j2u_mul_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param b The multiplicand * @param res Output parameter for the product * @return 1 if the result overflowed, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_j2u_to_j2u_overflow(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -375,6 +401,8 @@ libj2_j2u_mul_j2u_to_j2u_overflow(const struct libj2_j2u *a, const struct libj2_ * @return `LIBJ2_OVERFLOW` (= 1) if the multiplication would overflow, * `LIBJ2_NO_OVERFLOW` (= 0) if the multiplication would not overflow, * or `LIBJ2_OVERFLOW_UNKNOWN` if the prediction was not made + * + * @since 1.0 */ inline enum libj2_overflow libj2_j2u_mul_j2u_overflow_p_quick(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -407,6 +435,8 @@ libj2_j2u_mul_j2u_overflow_p_quick(const struct libj2_j2u *a, const struct libj2 * @return `LIBJ2_OVERFLOW` (= 1) if the multiplication would overflow, * `LIBJ2_NO_OVERFLOW` (= 0) if the multiplication would not overflow, * or `LIBJ2_OVERFLOW_UNKNOWN` if the prediction was not made + * + * @since 1.0 */ inline enum libj2_overflow libj2_j2u_mul_ju_overflow_p_quick(const struct libj2_j2u *a, uintmax_t b) @@ -424,6 +454,8 @@ libj2_j2u_mul_ju_overflow_p_quick(const struct libj2_j2u *a, uintmax_t b) * @return `LIBJ2_OVERFLOW` (= 1) if the multiplication would overflow, * `LIBJ2_NO_OVERFLOW` (= 0) if the multiplication would not overflow, * or `LIBJ2_OVERFLOW_UNKNOWN` if the prediction was not made + * + * @since 1.0 */ inline enum libj2_overflow libj2_ju_mul_j2u_overflow_p_quick(uintmax_t a, const struct libj2_j2u *b) @@ -444,6 +476,8 @@ libj2_ju_mul_j2u_overflow_p_quick(uintmax_t a, const struct libj2_j2u *b) * @param a The multiplier * @param b The multiplicand * @return 1 if the multiplication would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -490,6 +524,8 @@ libj2_j2u_mul_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u * * @param a The multiplier * @param b The multiplicand * @return 1 if the multiplication would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) @@ -509,6 +545,8 @@ libj2_j2u_mul_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) * @param a The multiplier * @param b The multiplicand * @return 1 if the multiplication would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_mul_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b) @@ -533,6 +571,8 @@ libj2_ju_mul_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b) * will never be set to any other value * @return 1 if the multiplication would overflow * (did overflow), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_j2u_to_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res, int *res_set) @@ -569,6 +609,8 @@ libj2_j2u_mul_j2u_to_j2u_overflow_p(const struct libj2_j2u *a, const struct libj * will never be set to any other value * @return 1 if the multiplication would overflow * (did overflow), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_mul_ju_to_j2u_overflow_p(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res, int *res_set) @@ -593,6 +635,8 @@ libj2_j2u_mul_ju_to_j2u_overflow_p(const struct libj2_j2u *a, uintmax_t b, struc * will never be set to any other value * @return 1 if the multiplication would overflow * (did overflow), 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_mul_j2u_to_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res, int *res_set) diff --git a/libj2/sign-shifting.h b/libj2/sign-shifting.h index 034259e..89c2ecf 100644 --- a/libj2/sign-shifting.h +++ b/libj2/sign-shifting.h @@ -12,6 +12,8 @@ * * @param a The integer to invert, also used as the * output parameter for the inverse + * + * @since 1.0 */ inline void libj2_minus_j2u(struct libj2_j2u *a) @@ -32,6 +34,8 @@ libj2_minus_j2u(struct libj2_j2u *a) * * @param a The integer to invert * @param res Output parameter for the inverse + * + * @since 1.0 */ inline void libj2_minus_j2u_to_j2u(const struct libj2_j2u *a, struct libj2_j2u *res) diff --git a/libj2/signum.h b/libj2/signum.h index cfd047d..60b37c1 100644 --- a/libj2/signum.h +++ b/libj2/signum.h @@ -12,6 +12,8 @@ * * @param a The integer to inspect * @return 1 if `a` has a positive value, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_is_positive(const struct libj2_j2u *a) @@ -34,6 +36,8 @@ libj2_j2u_is_positive(const struct libj2_j2u *a) * @return -1 if `a` is negative (impossible), * +1 if `a` is positive, and * 0 if `a` is 0 + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_sgn_j2u(const struct libj2_j2u *a) diff --git a/libj2/subtraction.h b/libj2/subtraction.h index 7f0bbce..9c2f775 100644 --- a/libj2/subtraction.h +++ b/libj2/subtraction.h @@ -14,6 +14,8 @@ * @param a The minuend (left-hand), also used as the * output parameter for the difference * @param b The subtrahend (right-hand) + * + * @since 1.0 */ inline void libj2_j2u_sub_ju(struct libj2_j2u *a, uintmax_t b) @@ -43,6 +45,8 @@ libj2_j2u_sub_ju(struct libj2_j2u *a, uintmax_t b) * @return 1 if the result overflowed (`b` is greater than `*a`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_sub_ju_overflow(struct libj2_j2u *a, uintmax_t b) @@ -75,6 +79,8 @@ libj2_j2u_sub_ju_overflow(struct libj2_j2u *a, uintmax_t b) * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @param res Output parameter for the difference + * + * @since 1.0 */ inline void libj2_j2u_sub_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -105,6 +111,8 @@ libj2_j2u_sub_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @return 1 if the result overflowed (`b` is greater than `*a`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_sub_ju_to_j2u_overflow(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -140,6 +148,8 @@ libj2_j2u_sub_ju_to_j2u_overflow(const struct libj2_j2u *a, uintmax_t b, struct * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @param res Output parameter for the difference + * + * @since 1.0 */ inline void libj2_ju_sub_ju_to_j2u(uintmax_t a, uintmax_t b, struct libj2_j2u *res) @@ -169,6 +179,8 @@ libj2_ju_sub_ju_to_j2u(uintmax_t a, uintmax_t b, struct libj2_j2u *res) * @return 1 if the result overflowed (`b` is greater than `*a`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_sub_ju_to_j2u_overflow(uintmax_t a, uintmax_t b, struct libj2_j2u *res) @@ -194,6 +206,8 @@ libj2_ju_sub_ju_to_j2u_overflow(uintmax_t a, uintmax_t b, struct libj2_j2u *res) * @param a The minuend (left-hand), also used * as the output parameter for the difference * @param b The subtrahend (right-hand) + * + * @since 1.0 */ inline void libj2_j2u_sub_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -213,6 +227,8 @@ libj2_j2u_sub_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @param res Output parameter for the difference + * + * @since 1.0 */ inline void libj2_j2u_sub_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -242,6 +258,8 @@ libj2_j2u_sub_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @return 1 if the result overflowed (`b` is greater than `*a`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_sub_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -271,6 +289,8 @@ libj2_j2u_sub_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) * @return 1 if the result overflowed (`b` is greater than `*a`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_sub_j2u_to_j2u_overflow(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -308,6 +328,8 @@ libj2_j2u_sub_j2u_to_j2u_overflow(const struct libj2_j2u *a, const struct libj2_ * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @param res Output parameter for the difference + * + * @since 1.0 */ inline void libj2_ju_sub_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -337,6 +359,8 @@ libj2_ju_sub_j2u_to_j2u(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u * @return 1 if the result overflowed (`*b` is greater than `a`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_sub_j2u_to_j2u_overflow(uintmax_t a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -367,6 +391,8 @@ libj2_ju_sub_j2u_to_j2u_overflow(uintmax_t a, const struct libj2_j2u *b, struct * @param a The subtrahend (right-hand), also used as * the output parameter for the difference * @param b The minuend (left-hand) + * + * @since 1.0 */ inline void libj2_j2u_rsub_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -399,6 +425,8 @@ libj2_j2u_rsub_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @return 1 if the result overflowed (`*a` is greater than `*b`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsub_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -436,6 +464,8 @@ libj2_j2u_rsub_j2u_overflow(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The subtrahend (right-hand), also used as * the output parameter for the difference * @param b The minuend (left-hand) + * + * @since 1.0 */ inline void libj2_j2u_rsub_ju(struct libj2_j2u *a, uintmax_t b) @@ -470,6 +500,8 @@ libj2_j2u_rsub_ju(struct libj2_j2u *a, uintmax_t b) * @return 1 if the result overflowed (`*a` is greater than `b`), * so the result wrapped around (actual difference is * negative), 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsub_ju_overflow(struct libj2_j2u *a, uintmax_t b) @@ -505,6 +537,8 @@ libj2_j2u_rsub_ju_overflow(struct libj2_j2u *a, uintmax_t b) * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @return 1 if the subtraction would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_sub_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) @@ -524,6 +558,8 @@ libj2_j2u_sub_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @return 1 if the subtraction would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_sub_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b) @@ -543,6 +579,8 @@ libj2_ju_sub_j2u_overflow_p(uintmax_t a, const struct libj2_j2u *b) * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @return 1 if the subtraction would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_ju_sub_ju_overflow_p(uintmax_t a, uintmax_t b) @@ -563,6 +601,8 @@ libj2_ju_sub_ju_overflow_p(uintmax_t a, uintmax_t b) * @param a The minuend (left-hand) * @param b The subtrahend (right-hand) * @return 1 if the subtraction would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_sub_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -582,6 +622,8 @@ libj2_j2u_sub_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u * * @param a The subtrahend (right-hand) * @param b The minuend (left-hand) * @return 1 if the subtraction would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsub_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -601,6 +643,8 @@ libj2_j2u_rsub_j2u_overflow_p(const struct libj2_j2u *a, const struct libj2_j2u * @param a The subtrahend (right-hand) * @param b The minuend (left-hand) * @return 1 if the subtraction would overflow, 0 otherwise + * + * @since 1.0 */ inline int libj2_j2u_rsub_ju_overflow_p(const struct libj2_j2u *a, uintmax_t b) diff --git a/libj2/unsigned-comparsion.h b/libj2/unsigned-comparsion.h index fcc81c9..39fdd07 100644 --- a/libj2/unsigned-comparsion.h +++ b/libj2/unsigned-comparsion.h @@ -14,6 +14,8 @@ * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is less than `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_lt_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -31,6 +33,8 @@ libj2_j2u_lt_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is less than or equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_le_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -48,6 +52,8 @@ libj2_j2u_le_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is greater than `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_gt_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -65,6 +71,8 @@ libj2_j2u_gt_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is greater than or equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_ge_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -82,6 +90,8 @@ libj2_j2u_ge_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_eq_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -99,6 +109,8 @@ libj2_j2u_eq_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is not equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_ne_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -119,6 +131,8 @@ libj2_j2u_ne_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @return -1 if `*a` is less than `*b`, * +1 if `*a` is greater than `*b`, * 0 if `*a` is equal to `*b` + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_cmp_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) @@ -136,6 +150,8 @@ libj2_j2u_cmp_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is less than `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_lt_ju(const struct libj2_j2u *a, uintmax_t b) @@ -153,6 +169,8 @@ libj2_j2u_lt_ju(const struct libj2_j2u *a, uintmax_t b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is less than or equal to `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_le_ju(const struct libj2_j2u *a, uintmax_t b) @@ -170,6 +188,8 @@ libj2_j2u_le_ju(const struct libj2_j2u *a, uintmax_t b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is less than `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_gt_ju(const struct libj2_j2u *a, uintmax_t b) @@ -187,6 +207,8 @@ libj2_j2u_gt_ju(const struct libj2_j2u *a, uintmax_t b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is greater than or equal to `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_ge_ju(const struct libj2_j2u *a, uintmax_t b) @@ -204,6 +226,8 @@ libj2_j2u_ge_ju(const struct libj2_j2u *a, uintmax_t b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is equal to `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_eq_ju(const struct libj2_j2u *a, uintmax_t b) @@ -221,6 +245,8 @@ libj2_j2u_eq_ju(const struct libj2_j2u *a, uintmax_t b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `*a` is not equal to `b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_ne_ju(const struct libj2_j2u *a, uintmax_t b) @@ -241,6 +267,8 @@ libj2_j2u_ne_ju(const struct libj2_j2u *a, uintmax_t b) * @return -1 if `*a` is less than `b`, * +1 if `*a` is greater than `b`, * 0 if `*a` is equal to `b` + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_j2u_cmp_ju(const struct libj2_j2u *a, uintmax_t b) @@ -258,6 +286,8 @@ libj2_j2u_cmp_ju(const struct libj2_j2u *a, uintmax_t b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `a` is less than `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_lt_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -275,6 +305,8 @@ libj2_ju_lt_j2u(uintmax_t a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `a` is less than or equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_le_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -292,6 +324,8 @@ libj2_ju_le_j2u(uintmax_t a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `a` is less than `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_gt_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -309,6 +343,8 @@ libj2_ju_gt_j2u(uintmax_t a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `a` is greater than or equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_ge_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -326,6 +362,8 @@ libj2_ju_ge_j2u(uintmax_t a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `a` is equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_eq_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -343,6 +381,8 @@ libj2_ju_eq_j2u(uintmax_t a, const struct libj2_j2u *b) * @param a The left-hand value * @param b The right-hand value * @return 1 if `a` is not equal to `*b`, 0 otherwise + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_ne_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -363,6 +403,8 @@ libj2_ju_ne_j2u(uintmax_t a, const struct libj2_j2u *b) * @return -1 if `a` is less than `*b`, * +1 if `a` is greater than `*b`, * 0 if `a` is equal to `*b` + * + * @since 1.0 */ LIBJ2_PURE_ inline int libj2_ju_cmp_j2u(uintmax_t a, const struct libj2_j2u *b) @@ -384,6 +426,8 @@ libj2_ju_cmp_j2u(uintmax_t a, const struct libj2_j2u *b) * @param a One of the values * @param b The other value * @param res Output parameter for the maximum of `*a` and `*b` + * + * @since 1.0 */ inline void libj2_j2u_max_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -402,6 +446,8 @@ libj2_j2u_max_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a One of the values, and output parameter * for the maximum of `*a` and `*b` * @param b The other value + * + * @since 1.0 */ inline void libj2_j2u_max_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -422,6 +468,8 @@ libj2_j2u_max_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a One of the values, and output parameter * for the maximum of `*a` and `b` * @param b The other value + * + * @since 1.0 */ inline void libj2_j2u_max_ju(struct libj2_j2u *a, uintmax_t b) @@ -442,6 +490,8 @@ libj2_j2u_max_ju(struct libj2_j2u *a, uintmax_t b) * @param a One of the values * @param b The other value * @param res Output parameter for the maximum of `*a` and `b` + * + * @since 1.0 */ inline void libj2_j2u_max_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -465,6 +515,8 @@ libj2_j2u_max_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * @param a One of the values * @param b The other value * @param res Output parameter for the minimum of `*a` and `*b` + * + * @since 1.0 */ inline void libj2_j2u_min_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, struct libj2_j2u *res) @@ -483,6 +535,8 @@ libj2_j2u_min_j2u_to_j2u(const struct libj2_j2u *a, const struct libj2_j2u *b, s * @param a One of the values, and output parameter * for the minimum of `*a` and `*b` * @param b The other value + * + * @since 1.0 */ inline void libj2_j2u_min_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) @@ -503,6 +557,8 @@ libj2_j2u_min_j2u(struct libj2_j2u *a, const struct libj2_j2u *b) * @param a One of the values, and output parameter * for the minimum of `*a` and `b` * @param b The other value + * + * @since 1.0 */ inline void libj2_j2u_min_ju(struct libj2_j2u *a, uintmax_t b) @@ -525,6 +581,8 @@ libj2_j2u_min_ju(struct libj2_j2u *a, uintmax_t b) * @param a One of the values * @param b The other value * @param res Output parameter for the minimum of `*a` and `b` + * + * @since 1.0 */ inline void libj2_j2u_min_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u *res) @@ -546,6 +604,8 @@ libj2_j2u_min_ju_to_j2u(const struct libj2_j2u *a, uintmax_t b, struct libj2_j2u * the maximum of the values * @param args `NULL` terminated list of additional values; each * argument shall have the type `const struct libj2_j2u *` + * + * @since 1.0 */ inline void libj2_vmax_j2u(struct libj2_j2u *a, va_list args) @@ -564,6 +624,8 @@ libj2_vmax_j2u(struct libj2_j2u *a, va_list args) * the maximum of the values * @param ... `NULL` terminated list of additional values; each * argument shall have the type `const struct libj2_j2u *` + * + * @since 1.0 */ inline void libj2_max_j2u(struct libj2_j2u *a, ... /*, NULL */) @@ -584,6 +646,8 @@ libj2_max_j2u(struct libj2_j2u *a, ... /*, NULL */) * argument shall have the type `const struct libj2_j2u *` * @return One of the `const struct libj2_j2u *` that as the * maximum of the values of each argument + * + * @since 1.0 */ inline const struct libj2_j2u * libj2_vmax_j2u_return(const struct libj2_j2u *a, va_list args) @@ -605,6 +669,8 @@ libj2_vmax_j2u_return(const struct libj2_j2u *a, va_list args) * argument shall have the type `const struct libj2_j2u *` * @return One of the `const struct libj2_j2u *` that as the * maximum of the values of each argument + * + * @since 1.0 */ LIBJ2_PURE_ inline const struct libj2_j2u * libj2_max_j2u_return(const struct libj2_j2u *a, ... /*, NULL */) @@ -625,6 +691,8 @@ libj2_max_j2u_return(const struct libj2_j2u *a, ... /*, NULL */) * argument shall have the type `const struct libj2_j2u *`, * followed by a `struct libj2_j2u *` is used as the * output parameter for the maximum of the values + * + * @since 1.0 */ inline void libj2_vmax_j2u_to_j2u(const struct libj2_j2u *a, va_list args) @@ -645,6 +713,8 @@ libj2_vmax_j2u_to_j2u(const struct libj2_j2u *a, va_list args) * argument shall have the type `const struct libj2_j2u *`, * followed by a `struct libj2_j2u *` is used as the * output parameter for the maximum of the values + * + * @since 1.0 */ inline void libj2_max_j2u_to_j2u(const struct libj2_j2u *a, ... /*, NULL, struct libj2_j2u *res */) @@ -664,6 +734,8 @@ libj2_max_j2u_to_j2u(const struct libj2_j2u *a, ... /*, NULL, struct libj2_j2u * * the minimum of the values * @param args `NULL` terminated list of additional values; each * argument shall have the type `const struct libj2_j2u *` + * + * @since 1.0 */ inline void libj2_vmin_j2u(struct libj2_j2u *a, va_list args) @@ -682,6 +754,8 @@ libj2_vmin_j2u(struct libj2_j2u *a, va_list args) * the minimum of the values * @param ... `NULL` terminated list of additional values; each * argument shall have the type `const struct libj2_j2u *` + * + * @since 1.0 */ inline void libj2_min_j2u(struct libj2_j2u *a, ... /*, NULL */) @@ -702,6 +776,8 @@ libj2_min_j2u(struct libj2_j2u *a, ... /*, NULL */) * argument shall have the type `const struct libj2_j2u *` * @return One of the `const struct libj2_j2u *` that as the * minimum of the values of each argument + * + * @since 1.0 */ inline const struct libj2_j2u * libj2_vmin_j2u_return(const struct libj2_j2u *a, va_list args) @@ -723,6 +799,8 @@ libj2_vmin_j2u_return(const struct libj2_j2u *a, va_list args) * argument shall have the type `const struct libj2_j2u *` * @return One of the `const struct libj2_j2u *` that as the * minimum of the values of each argument + * + * @since 1.0 */ LIBJ2_PURE_ inline const struct libj2_j2u * libj2_min_j2u_return(const struct libj2_j2u *a, ... /*, NULL */) @@ -743,6 +821,8 @@ libj2_min_j2u_return(const struct libj2_j2u *a, ... /*, NULL */) * argument shall have the type `const struct libj2_j2u *`, * followed by a `struct libj2_j2u *` is used as the * output parameter for the minimum of the values + * + * @since 1.0 */ inline void libj2_vmin_j2u_to_j2u(const struct libj2_j2u *a, va_list args) @@ -763,6 +843,8 @@ libj2_vmin_j2u_to_j2u(const struct libj2_j2u *a, va_list args) * argument shall have the type `const struct libj2_j2u *`, * followed by a `struct libj2_j2u *` is used as the * output parameter for the minimum of the values + * + * @since 1.0 */ inline void libj2_min_j2u_to_j2u(const struct libj2_j2u *a, ... /*, NULL, struct libj2_j2u *res */) -- cgit v1.2.3-70-g09d2