-
Notifications
You must be signed in to change notification settings - Fork 10
Closed
Description
When 2 * f is not f *2...
julia> import MathOptInterface as MOI
julia> import LinearAlgebra
julia> x = MOI.VariableIndex(1)
MOI.VariableIndex(1)
julia> f = LinearAlgebra.Symmetric([2*x*x 0; 0 0])
2×2 LinearAlgebra.Symmetric{MathOptInterface.ScalarQuadraticFunction{Int64}, Matrix{MathOptInterface.ScalarQuadraticFunction{Int64}}}:
(0) + 2.0 MOI.VariableIndex(1)² (0)
(0) (0)
julia> MutableArithmetics.add_mul(f, 2, 2 * f)
2×2 LinearAlgebra.Symmetric{MathOptInterface.ScalarQuadraticFunction{Int64}, Matrix{MathOptInterface.ScalarQuadraticFunction{Int64}}}:
(0) + 8.0 MOI.VariableIndex(1)² + 2.0 MOI.VariableIndex(1)² (0)
(0) (0)
julia> MutableArithmetics.add_mul(f, 2, f * 2)
ERROR: UndefRefError: access to undefined reference
Stacktrace:
[1] getindex
@ ./essentials.jl:892 [inlined]
[2] getindex
@ ./array.jl:915 [inlined]
[3] getindex
@ ./multidimensional.jl:700 [inlined]
[4] _broadcast_getindex
@ ./broadcast.jl:639 [inlined]
[5] _getindex
@ ./broadcast.jl:670 [inlined]
[6] _getindex
@ ./broadcast.jl:669 [inlined]
[7] _broadcast_getindex
@ ./broadcast.jl:645 [inlined]
[8] getindex
@ ./broadcast.jl:605 [inlined]
[9] macro expansion
@ ./broadcast.jl:968 [inlined]
[10] macro expansion
@ ./simdloop.jl:77 [inlined]
[11] copyto!
@ ./broadcast.jl:967 [inlined]
[12] copyto!
@ ./broadcast.jl:920 [inlined]
[13] copy
@ ./broadcast.jl:892 [inlined]
[14] materialize
@ ./broadcast.jl:867 [inlined]
[15] broadcast_preserving_zero_d
@ ./broadcast.jl:856 [inlined]
[16] *(A::Int64, B::Matrix{MathOptInterface.ScalarQuadraticFunction{Int64}})
@ Base ./arraymath.jl:21
[17] *
@ ~/.julia/packages/MutableArithmetics/NIXlP/src/dispatch.jl:478 [inlined]
[18] muladd(x::Int64, y::LinearAlgebra.Symmetric{MathOptInterface.ScalarQuadraticFunction{…}, Matrix{…}}, z::LinearAlgebra.Symmetric{MathOptInterface.ScalarQuadraticFunction{…}, Matrix{…}})
@ Base.Math ./math.jl:1562
[19] add_mul(a::LinearAlgebra.Symmetric{MathOptInterface.ScalarQuadraticFunction{…}, Matrix{…}}, b::Int64, c::LinearAlgebra.Symmetric{MathOptInterface.ScalarQuadraticFunction{…}, Matrix{…}})
@ MutableArithmetics ~/.julia/packages/MutableArithmetics/NIXlP/src/MutableArithmetics.jl:27
[20] top-level scope
@ REPL[94]:1
Some type information was truncated. Use `show(err)` to see complete types.Metadata
Metadata
Assignees
Labels
No labels