Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions control/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,17 @@ def use_legacy_defaults(version):
Parameters
----------
version : string
version number of the defaults desired. Currently only supports `0.8.3`.
version number of the defaults desired. ranges from '0.1' to '0.8.4'.
"""
if version == '0.8.3':
numbers_list = version.split(".")
first_digit = int(numbers_list[0])
second_digit = int(numbers_list[1].strip('abcdef')) # remove trailing letters
if second_digit < 8:
# TODO: anything for 0.7 and below if needed
pass
elif second_digit == 8:
if len(version) > 4:
third_digit = int(version[4])
use_numpy_matrix(True) # alternatively: set_defaults('statesp', use_numpy_matrix=True)
else:
raise ValueError('''version number not recognized. Possible values are: ['0.8.3']''')
raise ValueError('''version number not recognized. Possible values range from '0.1' to '0.8.4'.''')
6 changes: 6 additions & 0 deletions control/tests/config_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,12 @@ def test_legacy_defaults(self):
assert(isinstance(ct.ss(0,0,0,1).D, np.matrix))
ct.reset_defaults()
assert(isinstance(ct.ss(0,0,0,1).D, np.ndarray))
# test that old versions don't raise a problem
ct.use_legacy_defaults('0.6c')
ct.use_legacy_defaults('0.8.2')
ct.use_legacy_defaults('0.1')
ct.config.reset_defaults()


def test_change_default_dt(self):
ct.set_defaults('statesp', default_dt=0)
Expand Down