aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranklin Wei <franklin@rockbox.org>2019-12-26 18:50:02 -0500
committerFranklin Wei <franklin@rockbox.org>2019-12-26 18:50:02 -0500
commit8d3ed3b0b28daa4388df87e0cf4f952f255c63a3 (patch)
tree5ce93359266d2c63f395451bad2966daaea3a0ef
parentae35076120390b1c3b2fe6fb4041fa35f3c288f5 (diff)
downloadrastercarve-8d3ed3b0b28daa4388df87e0cf4f952f255c63a3.zip
rastercarve-8d3ed3b0b28daa4388df87e0cf4f952f255c63a3.tar.gz
rastercarve-8d3ed3b0b28daa4388df87e0cf4f952f255c63a3.tar.bz2
rastercarve-8d3ed3b0b28daa4388df87e0cf4f952f255c63a3.tar.xz
frange: switch back to using yield instead of generating all at once
Should save a little memory for large images.
-rwxr-xr-xrastercarve/__main__.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/rastercarve/__main__.py b/rastercarve/__main__.py
index 6a630ea..e04aa80 100755
--- a/rastercarve/__main__.py
+++ b/rastercarve/__main__.py
@@ -62,13 +62,9 @@ CONSTRAINTS = [
# floating-point range
def frange(x, y, jump):
- # this is hugely inefficient but gives us nice progress bar
- # stats... what matters more?
- ret = []
while x < y:
- ret.append(x)
+ yield x
x += jump
- return ret
def eprint(s):
if not hasattr(glob_args, 'quiet'):
@@ -246,8 +242,9 @@ def doEngrave():
end = None
for y in tqdm(frange(0, max_y - yspace, yspace * 2),
- desc='Generating G-code',
- unit=' lines',
+ total = nlines / 2,
+ desc = 'Generating G-code',
+ unit = ' lines',
unit_scale = 2,
disable = hasattr(glob_args, 'quiet')): # we engrave two lines per loop
start = np.array([0, y]).astype('float64')