diff options
| author | Franklin Wei <franklin@rockbox.org> | 2019-12-26 18:50:02 -0500 |
|---|---|---|
| committer | Franklin Wei <franklin@rockbox.org> | 2019-12-26 18:50:02 -0500 |
| commit | 8d3ed3b0b28daa4388df87e0cf4f952f255c63a3 (patch) | |
| tree | 5ce93359266d2c63f395451bad2966daaea3a0ef | |
| parent | ae35076120390b1c3b2fe6fb4041fa35f3c288f5 (diff) | |
| download | rastercarve-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-x | rastercarve/__main__.py | 11 |
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') |