[Libre-soc-isa] [Bug 973] an easy way to shift registers up and down is needed
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Oct 9 06:26:18 BST 2023
https://bugs.libre-soc.org/show_bug.cgi?id=973
--- Comment #4 from Jacob Lifshay <programmerjake at gmail.com> ---
turns out bigint divmod using knuth's algorithm d most likely needs dynamic
svoffset too, since the outer loop offsets where some of the stuff in the inner
loop is read/written. see bug #1044 comment #35
simplified loop is like:
for j in ...:
qhat = divrem(un[j], vn[n - 1])
qhat = fixup(qhat, un[j - 1], vn[n - 2])
for i in ...:
un[i + j] -= vn[i] * qhat # plus some carry stuff
if borrowed:
qhat -= 1
for i in ...:
un[i + j] += vn[i] # plus some carry stuff
q[j] = qhat
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list