From a6f3055cd39060494e9b26e245d359d00de24cbb Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 30 Nov 2015 20:01:25 +0800 Subject: [PATCH] scan: enforce max >= min --- artiq/gui/scan.py | 1 - artiq/language/scan.py | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/artiq/gui/scan.py b/artiq/gui/scan.py index 565fdd46b..9ba7ba6d4 100644 --- a/artiq/gui/scan.py +++ b/artiq/gui/scan.py @@ -38,7 +38,6 @@ class _NoScan(LayoutWidget): self.value.valueChanged.connect(update) -# TODO: prevent max < min class _Range(LayoutWidget): def __init__(self, procdesc, state): LayoutWidget.__init__(self) diff --git a/artiq/language/scan.py b/artiq/language/scan.py index 86f5ac00b..dabe76df1 100644 --- a/artiq/language/scan.py +++ b/artiq/language/scan.py @@ -58,6 +58,8 @@ class LinearScan(ScanObject): """A scan object that yields a fixed number of increasing evenly spaced values in a range.""" def __init__(self, min, max, npoints): + if min > max: + raise ValueError("Scan minimum must be less than maximum") self.min = min self.max = max self.npoints = npoints @@ -85,6 +87,8 @@ class RandomScan(ScanObject): """A scan object that yields a fixed number of randomly ordered evenly spaced values in a range.""" def __init__(self, min, max, npoints, seed=0): + if min > max: + raise ValueError("Scan minimum must be less than maximum") self.min = min self.max = max self.npoints = npoints