From 7c491c6d1c596cdfe560f8f34bb06b9e21c7d363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Tue, 20 Nov 2018 10:21:20 +0100 Subject: [PATCH] Use Dict constructor in new_ordered_dict --- src/aff_expr.jl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/aff_expr.jl b/src/aff_expr.jl index 3da526033e8..d89f9f8ccc3 100644 --- a/src/aff_expr.jl +++ b/src/aff_expr.jl @@ -41,6 +41,18 @@ function new_ordered_dict(::Type{K}, ::Type{V}, kv::Pair...) where {K,V} end return dict end +# Shortcut for one and two arguments to avoid creating an empty dict and add +# elements one by one with `JuMP.add_or_set!` +function new_ordered_dict(::Type{K}, ::Type{V}, kv::Pair) where {K, V} + return OrderedDict{K, V}(kv) +end +function new_ordered_dict(::Type{K}, ::Type{V}, kv1::Pair, kv2::Pair) where {K, V} + if isequal(kv1.first, kv2.first) + return OrderedDict{K, V}(kv1.first => kv1.second + kv2.second) + else + return OrderedDict{K, V}(kv1, kv2) + end +end