int128 52 src/dps8/dps8.h # define construct_s128(h, l) ((int128) { (h), (l) }) int128 9770 src/dps8/dps8_eis.c int128 9950 src/dps8/dps8_eis.c int128 320 src/dps8/dps8_hw_consts.h static inline int128 SIGNEXT72_128 (word72 w) int128 330 src/dps8/dps8_hw_consts.h return (int128) { (uint64_t) v.h, v.l}; int128 332 src/dps8/dps8_hw_consts.h return (int128) { (int64_t) v.h, v.l}; int128 334 src/dps8/dps8_hw_consts.h return (int128) { (__int64_t) v.h, v.l}; int128 339 src/dps8/dps8_hw_consts.h return ((int128) w) | (int128) (((uint128) -1ll) << 72); int128 346 src/dps8/dps8_hw_consts.h static inline int128 SIGNEXT36_128 (word36 w) int128 5157 src/dps8/dps8_ins.c int128 prod = multiply_s128 ( int128 1180 src/dps8/dps8_math.c int128 t = SIGNEXT72_128(m2); int128 1182 src/dps8/dps8_math.c int128 m3 = multiply_s128 (SIGNEXT72_128(m1), cast_s128 (ut)); int128 1185 src/dps8/dps8_math.c int128 m3 = (SIGNEXT72_128(m1) * (SIGNEXT72_128(m2) >> 44)); int128 1794 src/dps8/dps8_math.c SC_I_NEG ((int128)SIGNEXT72_128(m1) < (int128)SIGNEXT72_128(m2)); int128 1922 src/dps8/dps8_math.c int128 sm1 = SIGNEXT72_128 (m1); int128 1925 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); int128 1930 src/dps8/dps8_math.c int128 sm1 = SIGNEXT72_128 (m1); int128 1933 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); int128 2371 src/dps8/dps8_math.c int128 m2s = rshift_s128 (SIGNEXT72_128(m2), 8); int128 2374 src/dps8/dps8_math.c int128 m1l = and_s128 (cast_s128 (m1), construct_128 (0, MASK64)); int128 2375 src/dps8/dps8_math.c int128 m1h = rshift_s128 (SIGNEXT72_128(m1), 64); int128 2376 src/dps8/dps8_math.c int128 m3h = multiply_s128 (m1h, m2s); // hi partial product int128 2377 src/dps8/dps8_math.c int128 m3l = multiply_s128 (m1l, m2s); // lo partial product int128 2385 src/dps8/dps8_math.c int128 m2s = SIGNEXT72_128(m2) >> 8; int128 2388 src/dps8/dps8_math.c int128 m1l = m1 & (((uint128)1<<64)-1); int128 2389 src/dps8/dps8_math.c int128 m1h = SIGNEXT72_128(m1) >> 64; int128 2390 src/dps8/dps8_math.c int128 m3h = m1h * m2s; // hi partial product int128 2391 src/dps8/dps8_math.c int128 m3l = m1l * m2s; // lo partial product int128 2397 src/dps8/dps8_math.c m3h = (int128) (((uint128) m3h) << 1); // m3h is hi by 64, align it for addition. The result is 135 bits so this cannot overflow. int128 2955 src/dps8/dps8_math.c zFrac = (uint128) (((int128) (~zFrac)) + 1); int128 2993 src/dps8/dps8_math.c dFrac = (uint128) (((int128) (~dFrac)) + 1); int128 3387 src/dps8/dps8_math.c int128 sm1 = SIGNEXT72_128 (m1); int128 3388 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); int128 3431 src/dps8/dps8_math.c int128 sm1 = SIGNEXT72_128 (m1); int128 3432 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); int128 3558 src/dps8/dps8_math.c int128 sm1 = SIGNEXT72_128 (m1); int128 3561 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); int128 3568 src/dps8/dps8_math.c int128 sm1 = SIGNEXT72_128 (m1); int128 3571 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); int128 78 src/dps8/dps8_math128.c bool islt_s128 (int128 a, int128 b) int128 86 src/dps8/dps8_math128.c bool isgt_s128 (int128 a, int128 b) int128 99 src/dps8/dps8_math128.c int128 and_s128 (int128 a, uint128 b) int128 101 src/dps8/dps8_math128.c return (int128) {a.h & (int64_t)b.h, a.l & b.l}; int128 159 src/dps8/dps8_math128.c int128 negate_s128 (int128 a) int128 194 src/dps8/dps8_math128.c int128 lshift_s128 (int128 a, unsigned int n) int128 266 src/dps8/dps8_math128.c int128 rshift_s128 (int128 a, unsigned int n) int128 493 src/dps8/dps8_math128.c int128 multiply_s128 (int128 a, int128 b) int128 812 src/dps8/dps8_math128.c int128 a = construct_s128 (ah, al); int128 813 src/dps8/dps8_math128.c int128 b = construct_s128 (bh, bl); int128 814 src/dps8/dps8_math128.c int128 r = multiply_s128 (a, b); int128 33 src/dps8/dps8_math128.h bool islt_s128 (int128 a, int128 b); int128 34 src/dps8/dps8_math128.h bool isgt_s128 (int128 a, int128 b); int128 36 src/dps8/dps8_math128.h int128 and_s128 (int128 a, uint128 b); int128 42 src/dps8/dps8_math128.h int128 multiply_s128 (int128 a, int128 b); int128 48 src/dps8/dps8_math128.h int128 negate_s128 (int128 a); int128 50 src/dps8/dps8_math128.h int128 lshift_s128 (int128 a, unsigned int n); int128 52 src/dps8/dps8_math128.h int128 rshift_s128 (int128 a, unsigned int n); int128 1116 src/dps8/dps8_utils.c int128 op1s = SIGNEXT72_128 (and_128 (op1, MASK72)); int128 1117 src/dps8/dps8_utils.c int128 op2s = SIGNEXT72_128 (and_128 (op2, MASK72)); int128 1123 src/dps8/dps8_utils.c int128 op1s = SIGNEXT72_128 (op1 & MASK72); int128 1124 src/dps8/dps8_utils.c int128 op2s = SIGNEXT72_128 (op2 & MASK72); int128 1952 src/dps8/dps8_utils.c char * print_int128o (int128 n, char * p) int128 1983 src/dps8/dps8_utils.c void print_int128 (int128 n, char * p) int128 887 src/dps8/dps8_utils.h void print_int128 (int128 n, char * p); int128 888 src/dps8/dps8_utils.h char * print_int128o (int128 n, char * p);