Skip to content

Commit 77a38fc

Browse files
committed
quick and dirty parser for version number in legacy-defaults
1 parent d3142ff commit 77a38fc

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

control/config.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,16 @@ def use_legacy_defaults(version):
166166
Parameters
167167
----------
168168
version : string
169-
version number of the defaults desired. Currently only supports `0.8.3`.
169+
version number of the defaults desired. ranges from '0.1' to '0.8.4'.
170170
"""
171-
if version == '0.8.3':
171+
first_digit = int(version[0])
172+
second_digit = int(version[2])
173+
if second_digit < 8:
174+
# TODO: anything for 0.7 and below if needed
175+
pass
176+
elif second_digit == 8:
177+
if len(version) > 4:
178+
third_digit = int(version[4])
172179
use_numpy_matrix(True) # alternatively: set_defaults('statesp', use_numpy_matrix=True)
173180
else:
174-
raise ValueError('''version number not recognized. Possible values are: ['0.8.3']''')
181+
raise ValueError('''version number not recognized. Possible values range from '0.1' to '0.8.4'.''')

control/tests/config_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,12 @@ def test_legacy_defaults(self):
216216
assert(isinstance(ct.ss(0,0,0,1).D, np.matrix))
217217
ct.reset_defaults()
218218
assert(isinstance(ct.ss(0,0,0,1).D, np.ndarray))
219+
# test that old versions don't raise a problem
220+
ct.use_legacy_defaults('0.6c')
221+
ct.use_legacy_defaults('0.8.2')
222+
ct.use_legacy_defaults('0.1')
223+
ct.config.reset_defaults()
224+
219225

220226
def test_change_default_dt(self):
221227
ct.set_defaults('statesp', default_dt=0)

0 commit comments

Comments
 (0)