[Libre-soc-isa] [Bug 817] Big Integer Math (sv.adde, sv.subfe, sv.madded, 128 by 64-bit -> 64-bit div/rem, maybe more...)
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Sep 19 03:15:07 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=817
--- Comment #42 from Jacob Lifshay <programmerjake at gmail.com> ---
apparently Rust is getting bigint helper functions too:
tracking issue:
https://github.com/rust-lang/rust/issues/85532
public API:
> // On unsigned integers:
>
> /// `self + rhs + carry` (full adder)
> fn carrying_add(self, rhs: Self, carry: bool) -> (Self, bool);
>
> /// `self - rhs - carry` (full "subtractor")
> fn borrowing_sub(self, rhs: Self, carry: bool) -> (Self, bool);
>
> /// `self * rhs + carry` (multiply-accumulate)
> fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self);
>
> /// `self * rhs` (wide multiplication, same as `self.carrying_mul(rhs, 0)`)
> fn widening_mul(self, rhs: Self) -> (Self, Self);
>
>
> // On signed integers:
>
> /// `self + rhs + carry` (full adder)
> fn carrying_add(self, rhs: Self, carry: bool) -> (Self, bool);
>
> /// `self - rhs - carry` (full "subtractor")
> fn borrowing_sub(self, rhs: Self, carry: bool) -> (Self, bool);
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list