From 787d8075c231c17d6ec6cc23a77f8a39a74fabc2 Mon Sep 17 00:00:00 2001 From: Laurent Perron Date: Tue, 18 Apr 2017 00:08:19 +0200 Subject: [PATCH] various compilation fixed for visual studio 2013 --- src/sat/integer.cc | 4 ++-- src/sat/linear_programming_constraint.cc | 2 ++ src/sat/linear_programming_constraint.h | 2 +- src/util/piecewise_linear_function.cc | 5 +++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/sat/integer.cc b/src/sat/integer.cc index 2b06897a27..dd902a9916 100644 --- a/src/sat/integer.cc +++ b/src/sat/integer.cc @@ -1177,7 +1177,7 @@ std::function FirstUnassignedVarAtItsMinHeuristic( .Index(); } } - return kNoLiteralIndex; + return LiteralIndex(kNoLiteralIndex); }; } @@ -1197,7 +1197,7 @@ std::function UnassignedVarWithLowestMinAtItsMinHeuristic( candidate_lb = lb; } } - if (candidate == kNoIntegerVariable) return kNoLiteralIndex; + if (candidate == kNoIntegerVariable) return LiteralIndex(kNoLiteralIndex); return integer_encoder ->GetOrCreateAssociatedLiteral( IntegerLiteral::LowerOrEqual(candidate, candidate_lb)) diff --git a/src/sat/linear_programming_constraint.cc b/src/sat/linear_programming_constraint.cc index 48b72501f4..5a9cfd1e35 100644 --- a/src/sat/linear_programming_constraint.cc +++ b/src/sat/linear_programming_constraint.cc @@ -25,6 +25,8 @@ DEFINE_bool(lp_constraint_use_dual_ray, true, namespace operations_research { namespace sat { +const double LinearProgrammingConstraint::kEpsilon = 1e-6; + LinearProgrammingConstraint::LinearProgrammingConstraint( IntegerTrail* integer_trail) : integer_trail_(integer_trail) { diff --git a/src/sat/linear_programming_constraint.h b/src/sat/linear_programming_constraint.h index 8b372c5828..0ae774fd56 100644 --- a/src/sat/linear_programming_constraint.h +++ b/src/sat/linear_programming_constraint.h @@ -127,7 +127,7 @@ class LinearProgrammingConstraint : public PropagatorInterface { glop::Fractional GetVariableValueAtCpScale(glop::ColIndex var); // TODO(user): use solver's precision epsilon. - constexpr static double kEpsilon = 1e-6; + static const double kEpsilon; // Underlying LP solver API. glop::LinearProgram lp_data_; diff --git a/src/util/piecewise_linear_function.cc b/src/util/piecewise_linear_function.cc index 9f9843b4ae..6fc9a4dc79 100644 --- a/src/util/piecewise_linear_function.cc +++ b/src/util/piecewise_linear_function.cc @@ -351,8 +351,9 @@ PiecewiseLinearFunction* PiecewiseLinearFunction::CreateFullDomainFunction( PiecewiseLinearFunction* PiecewiseLinearFunction::CreateOneSegmentFunction( int64 point_x, int64 point_y, int64 slope, int64 other_point_x) { - return new PiecewiseLinearFunction( - {PiecewiseSegment(point_x, point_y, slope, other_point_x)}); + std::vector segments = + {PiecewiseSegment(point_x, point_y, slope, other_point_x)}; + return new PiecewiseLinearFunction(segments); } PiecewiseLinearFunction* PiecewiseLinearFunction::CreateRightRayFunction(