summaryrefslogtreecommitdiffstats
path: root/polymatrix/expression/init
diff options
context:
space:
mode:
Diffstat (limited to 'polymatrix/expression/init')
-rw-r--r--polymatrix/expression/init/initevalexpr.py14
-rw-r--r--polymatrix/expression/init/initfromarrayexpr.py2
-rw-r--r--polymatrix/expression/init/initlinearinexpr.py (renamed from polymatrix/expression/init/initforallexpr.py)6
-rw-r--r--polymatrix/expression/init/initlinearmatrixinexpr.py12
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,
+)