Lines Matching +full:128 +full:a
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
32 uint64_t a, uint64_t b) in mul64() argument
47 a0.ll = a; in mul64()
66 /* Unsigned 64x64 -> 128 multiplication */
67 void mulu64 (uint64_t *plow, uint64_t *phigh, uint64_t a, uint64_t b) in mulu64() argument
69 mul64(plow, phigh, a, b); in mulu64()
72 /* Signed 64x64 -> 128 multiplication */
73 void muls64 (uint64_t *plow, uint64_t *phigh, int64_t a, int64_t b) in muls64() argument
77 mul64(plow, &rh, a, b); in muls64()
81 rh -= a; in muls64()
83 if (a < 0) { in muls64()
90 * Unsigned 128-by-64 division.
135 * calculate the low part with a single call to udiv_qrnnd in divu128()
154 * Signed 128-by-64 division.
206 * urshift - 128-bit Unsigned Right Shift.
213 * be mod to 128. In other words, the caller is responsible to
234 * ulshift - 128-bit Unsigned Left Shift.
242 * be mod to 128. In other words, the caller is responsible to
256 urshift(&low, &high, 128 - shift); in ulshift()
271 * Unsigned 256-by-128 division.
273 * Returns lower 128 bit of quotient.
274 * Needs a normalized divisor (most significant bit set to 1).
333 * Unsigned 256-by-128 division.
357 int128_urshift(dlo, (128 - sh))); in divu256()
367 dhighest = int128_rshift(dhi, (128 - sh)); in divu256()
369 int128_urshift(dlo, (128 - sh))); in divu256()
380 * calculate the low part with a single call to udiv_qrnnd in divu256()
400 * Signed 256-by-128 division.