-
Notifications
You must be signed in to change notification settings - Fork 453
Expand file tree
/
Copy pathexception.py
More file actions
70 lines (59 loc) · 1.95 KB
/
exception.py
File metadata and controls
70 lines (59 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# exception.py - exception definitions for the control package
#
# Initial author: Richard M. Murray
# Creation date: 31 May 2010
"""Exception definitions for the control package."""
class ControlSlycot(ImportError):
"""Slycot import failed."""
pass
class ControlDimension(ValueError):
"""Raised when dimensions of system objects are not correct."""
pass
class ControlArgument(TypeError):
"""Raised when arguments to a function are not correct."""
pass
class ControlIndexError(IndexError):
"""Raised when arguments to an indexed object are not correct."""
pass
class ControlMIMONotImplemented(NotImplementedError):
"""Function is not currently implemented for MIMO systems."""
pass
class ControlNotImplemented(NotImplementedError):
"""Functionality is not yet implemented."""
pass
# Utility function to see if Slycot is installed
slycot_installed = None
def slycot_check():
"""Return True if Slycot is installed, otherwise False."""
global slycot_installed
if slycot_installed is None:
try:
import slycot # noqa: F401
slycot_installed = True
except:
slycot_installed = False
return slycot_installed
# Utility function to see if pandas is installed
pandas_installed = None
def pandas_check():
"""Return True if pandas is installed, otherwise False."""
global pandas_installed
if pandas_installed is None:
try:
import pandas # noqa: F401
pandas_installed = True
except:
pandas_installed = False
return pandas_installed
# Utility function to see if cvxopt is installed
cvxopt_installed = None
def cvxopt_check():
"""Return True if cvxopt is installed, otherwise False."""
global cvxopt_installed
if cvxopt_installed is None:
try:
import cvxopt # noqa: F401
cvxopt_installed = True
except:
cvxopt_installed = False
return cvxopt_installed