[libc-commits] [PATCH] D138541: [libc][math] Implement full multiplication and quick_mul_hi for UInt class.

Siva Chandra via Phabricator via libc-commits libc-commits at lists.llvm.org
Fri Dec 2 11:13:00 PST 2022


sivachandra accepted this revision.
sivachandra added inline comments.
This revision is now accepted and ready to land.


================
Comment at: libc/src/__support/UInt.h:219
+  // Fast hi part of the full product.  Differ with the truncation from full
+  // multiplication by at most 1 last bit.
+  constexpr UInt<Bits> quick_mul_hi(const UInt<Bits> &other) const {
----------------
sivachandra wrote:
> Can you add more commentary here explaining how this is different from `operator*`? IIUC, `operator*` returns the LS `Bits` of the result, while this is will return the MS `Bits` of the result with an additional condition that the LS-Bit of the result need not be the same as that in the MS `Bits` of the result produced by `ful_mul`.
Add an example of where this kind of multiplication will be useful.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138541/new/

https://reviews.llvm.org/D138541



More information about the libc-commits mailing list