File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -141,8 +141,9 @@ function _core_msolve(
141141 jl_cf_lf = reinterpret (Ptr{BigInt}, res_cf_lf[])
142142
143143 jl_vnames = Base. unsafe_wrap (Array, res_vnames[], jl_rp_nr_vars)
144-
145- vsymbols = [Symbol (unsafe_string (jl_vnames[i])) for i in 1 : jl_rp_nr_vars]
144+ vsymbols = [Symbol (unsafe_string (jl_vnames[i])) for i in 1 : jl_rp_nr_vars]
145+ #= get possible variable permutation =#
146+ perm = sortperm (vsymbols)
146147
147148 rat_param = _get_rational_parametrization (jl_ld, jl_len,
148149 jl_cf, jl_cf_lf, jl_rp_nr_vars)
@@ -173,9 +174,9 @@ function _core_msolve(
173174 j = 1
174175 tmp = Vector {QQFieldElem} (undef, nr_vars)
175176 while j <= nr_vars
176- tmp[j ] = QQFieldElem (unsafe_load (jl_sols_num, i)) >> Int64 (unsafe_load (jl_sols_den, i))
177- tmp[j ] += QQFieldElem (unsafe_load (jl_sols_num, i+ 1 )) >> Int64 (unsafe_load (jl_sols_den, i+ 1 ))
178- tmp[j] = tmp[j ] >> 1
177+ tmp[perm[j] ] = QQFieldElem (unsafe_load (jl_sols_num, i)) >> Int64 (unsafe_load (jl_sols_den, i))
178+ tmp[perm[j] ] += QQFieldElem (unsafe_load (jl_sols_num, i+ 1 )) >> Int64 (unsafe_load (jl_sols_den, i+ 1 ))
179+ tmp[perm[j]] = tmp[perm[j] ] >> 1
179180 i += 2
180181 j += 1
181182 end
You can’t perform that action at this time.
0 commit comments