From 0d4c3e8f6be098e953502589b17cb28197322442 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 11 Feb 2026 11:20:10 +0100 Subject: Finish signed saturated math MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- README | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'README') diff --git a/README b/README index c29bb6e..058794a 100644 --- a/README +++ b/README @@ -261,8 +261,9 @@ DESCRIPTION libj2_ji_lsh_overflow_p(3), libj2_ju_lsh_overflow_p(3) Predict overflow of left-shifting a value. - libj2_j2u_sat_lsh(3), libj2_j2u_sat_lsh_to_j2u(3), - libj2_ju_sat_lsh_to_j2u(3) + libj2_j2i_sat_lsh(3), libj2_j2i_sat_lsh_to_j2i(3), + libj2_ji_sat_lsh_to_j2i(3), libj2_j2u_sat_lsh(3), + libj2_j2u_sat_lsh_to_j2u(3), libj2_ju_sat_lsh_to_j2u(3) Left-shift a value, but saturate on overflow. libj2_j2i_rsh(3), libj2_j2i_rsh_to_j2i(3), libj2_ji_rsh_to_j2i(3), @@ -360,9 +361,11 @@ DESCRIPTION libj2_j2u_add_ju_overflow_p(3), libj2_ju_add_j2u_overflow_p(3) Predict whether adding two values will result in an overflow. - libj2_j2u_sat_add_j2u(3), libj2_j2u_sat_add_j2u_to_j2u(3), - libj2_j2u_sat_add_ju(3), libj2_j2u_sat_add_ju_to_j2u(3), - libj2_ju_sat_add_j2u_to_j2u(3) + libj2_j2i_sat_add_j2i(3), libj2_j2i_sat_add_j2i_to_j2i(3), + libj2_j2i_sat_add_ji(3), libj2_j2i_sat_add_ji_to_j2i(3), + libj2_ji_sat_add_j2i_to_j2i(3), libj2_j2u_sat_add_j2u(3), + libj2_j2u_sat_add_j2u_to_j2u(3), libj2_j2u_sat_add_ju(3), + libj2_j2u_sat_add_ju_to_j2u(3), libj2_ju_sat_add_j2u_to_j2u(3) Calculate the sum of two values, but saturate on overflow. libj2_j2i_sub_j2i(3), libj2_j2i_sub_j2i_to_j2i(3), @@ -403,12 +406,16 @@ DESCRIPTION Predict whether subtracting a value will result in an overflow. These functions swap the position of the two operands. - libj2_j2u_sat_sub_j2u(3), libj2_j2u_sat_sub_j2u_to_j2u(3), - libj2_j2u_sat_sub_ju(3), libj2_j2u_sat_sub_ju_to_j2u(3), - libj2_ju_sat_sub_j2u_to_j2u(3), libj2_ju_sat_sub_ju_to_j2u(3) + libj2_j2i_sat_sub_j2i(3), libj2_j2i_sat_sub_j2i_to_j2i(3), + libj2_j2i_sat_sub_ji(3), libj2_j2i_sat_sub_ji_to_j2i(3), + libj2_ji_sat_sub_j2i_to_j2i(3), libj2_j2u_sat_sub_j2u(3), + libj2_j2u_sat_sub_j2u_to_j2u(3), libj2_j2u_sat_sub_ju(3), + libj2_j2u_sat_sub_ju_to_j2u(3), libj2_ju_sat_sub_j2u_to_j2u(3), + libj2_ju_sat_sub_ju_to_j2u(3) Calculate the difference between two values, but saturate on overflow. + libj2_j2i_sat_rsub_j2i(3), libj2_j2i_sat_rsub_ji(3), libj2_j2u_sat_rsub_j2u(3), libj2_j2u_sat_rsub_ju(3) Calculate the difference between two values, but saturate on overflow. These functions swap the position of the two operands. @@ -455,9 +462,12 @@ DESCRIPTION overflow, and if the prediction is costly, perform the multiplication. - libj2_j2u_sat_mul_j2u(3), libj2_j2u_sat_mul_j2u_to_j2u(3), - libj2_j2u_sat_mul_ju(3), libj2_j2u_sat_mul_ju_to_j2u(3), - libj2_ju_sat_mul_j2u_to_j2u(3), libj2_j2u_sat_mul_j2u_destructive(3) + libj2_j2i_sat_mul_j2i(3), libj2_j2i_sat_mul_j2i_to_j2i(3), + libj2_j2i_sat_mul_ji(3), libj2_j2i_sat_mul_ji_to_j2i(3), + libj2_ji_sat_mul_j2i_to_j2i(3), libj2_j2u_sat_mul_j2u(3), + libj2_j2u_sat_mul_j2u_to_j2u(3), libj2_j2u_sat_mul_ju(3), + libj2_j2u_sat_mul_ju_to_j2u(3), libj2_ju_sat_mul_j2u_to_j2u(3), + libj2_j2u_sat_mul_j2u_destructive(3) Calculate the product of two values, but saturate on overflow. libj2_j2i_divmod_j2i(3), libj2_j2i_divmod_j2i_to_j2i(3), -- cgit v1.2.3-70-g09d2