[libre-riscv-dev] [Bug 208] implement CORDIC in a general way sufficient to do transcendentals
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue May 5 16:00:32 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=208
--- Comment #44 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
found it. the code was doing exactly as you'd asked: walking through
self.x and self.y by iteration.
"yield from" will treat the object *as* an iterator, returning calls
to object.__iter__() and returning those objects in sequence, as
*MULTIPLE* results.
"yield" will return the OBJECT - once and only once as *THE* (one and
only) result.
if the Signal did not have an __iter__ function, you would have got an
error.
diff --git a/src/ieee754/cordic/pipe_data.py b/src/ieee754/cordic/pipe_data.py
index c3f600a..d83dbe7 100644
--- a/src/ieee754/cordic/pipe_data.py
+++ b/src/ieee754/cordic/pipe_data.py
@@ -28,8 +28,8 @@ class CordicOutputData:
self.muxid = self.ctx.muxid
def __iter__(self):
- yield from self.x
- yield from self.y
+ yield self.x
+ yield self.y
yield from self.ctx
def eq(self, i):
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list