@@ -80,13 +80,13 @@ function conic_form!(x::MultiplyAtom, unique_conic_forms::UniqueConicForms=Uniqu
8080 objective = const_multiplier * objective
8181
8282 # left matrix multiplication
83- elseif x. children[1 ]. head == :constant
83+ elseif vexity ( x. children[1 ]) == ConstVexity ()
8484 objective = conic_form! (x. children[2 ], unique_conic_forms)
85- objective = kron (sparse (1.0 I, x. size[2 ], x. size[2 ]), x. children[1 ]. value ) * objective
85+ objective = kron (sparse (1.0 I, x. size[2 ], x. size[2 ]), evaluate ( x. children[1 ]) ) * objective
8686 # right matrix multiplication
8787 else
8888 objective = conic_form! (x. children[1 ], unique_conic_forms)
89- objective = kron (transpose (x. children[2 ]. value ), sparse (1.0 I, x. size[1 ], x. size[1 ])) * objective
89+ objective = kron (transpose (evaluate ( x. children[2 ]) ), sparse (1.0 I, x. size[1 ], x. size[1 ])) * objective
9090 end
9191 cache_conic_form! (unique_conic_forms, x, objective)
9292 end
@@ -158,7 +158,7 @@ function conic_form!(x::DotMultiplyAtom, unique_conic_forms::UniqueConicForms=Un
158158 # promote the size of the coefficient matrix, so eg
159159 # 3 .* x
160160 # works regardless of the size of x
161- coeff = x. children[1 ]. value .* ones (size (x. children[2 ]))
161+ coeff = evaluate ( x. children[1 ]) .* ones (size (x. children[2 ]))
162162 # promote the size of the variable
163163 # we've previously ensured neither x nor y is 1x1
164164 # and that the sizes are compatible,
0 commit comments