diff options
Diffstat (limited to 'polymatrix/expression/init')
-rw-r--r-- | polymatrix/expression/init/initevalexpr.py | 14 | ||||
-rw-r--r-- | polymatrix/expression/init/initfromarrayexpr.py | 2 | ||||
-rw-r--r-- | polymatrix/expression/init/initlinearinexpr.py (renamed from polymatrix/expression/init/initforallexpr.py) | 6 | ||||
-rw-r--r-- | polymatrix/expression/init/initlinearmatrixinexpr.py | 12 |
4 files changed, 23 insertions, 11 deletions
diff --git a/polymatrix/expression/init/initevalexpr.py b/polymatrix/expression/init/initevalexpr.py index 9d0fc0d..525a697 100644 --- a/polymatrix/expression/init/initevalexpr.py +++ b/polymatrix/expression/init/initevalexpr.py @@ -5,14 +5,14 @@ from polymatrix.expression.impl.evalexprimpl import EvalExprImpl def init_eval_expr( underlying: ExpressionBaseMixin, - values: tuple, - variables: tuple = None, + variables: tuple, + values: tuple = None, ): - if variables is None: - assert isinstance(values, tuple) + if values is None: + assert isinstance(variables, tuple) - variables, values = tuple(zip(*values)) + variables, values = tuple(zip(*variables)) elif isinstance(values, np.ndarray): values = tuple(values) @@ -20,8 +20,8 @@ def init_eval_expr( elif not isinstance(values, tuple): values = (values,) - if not isinstance(variables, tuple): - variables = (variables,) + # if not isinstance(variables, tuple): + # variables = (variables,) return EvalExprImpl( underlying=underlying, diff --git a/polymatrix/expression/init/initfromarrayexpr.py b/polymatrix/expression/init/initfromarrayexpr.py index 6aab26c..e6f57c8 100644 --- a/polymatrix/expression/init/initfromarrayexpr.py +++ b/polymatrix/expression/init/initfromarrayexpr.py @@ -21,7 +21,7 @@ def init_from_array_expr( assert all(len(col) == n_col for col in data) case _: - data = (data,) + data = tuple((e,) for e in data) case _: data = ((data,),) diff --git a/polymatrix/expression/init/initforallexpr.py b/polymatrix/expression/init/initlinearinexpr.py index 84388d2..f7f76e4 100644 --- a/polymatrix/expression/init/initforallexpr.py +++ b/polymatrix/expression/init/initlinearinexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.forallexprimpl import ForAllExprImpl +from polymatrix.expression.impl.linearinexprimpl import LinearInExprImpl -def init_for_all_expr( +def init_linear_in_expr( underlying: ExpressionBaseMixin, variables: tuple, ): - return ForAllExprImpl( + return LinearInExprImpl( underlying=underlying, variables=variables, ) diff --git a/polymatrix/expression/init/initlinearmatrixinexpr.py b/polymatrix/expression/init/initlinearmatrixinexpr.py new file mode 100644 index 0000000..cd4ce97 --- /dev/null +++ b/polymatrix/expression/init/initlinearmatrixinexpr.py @@ -0,0 +1,12 @@ +from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin +from polymatrix.expression.impl.linearmatrixinexprimpl import LinearMatrixInExprImpl + + +def init_linear_matrix_in_expr( + underlying: ExpressionBaseMixin, + variable: int, +): + return LinearMatrixInExprImpl( + underlying=underlying, + variable=variable, +) |