File: CbcObjectUpdateData.cpp

package info (click to toggle)
coinor-cbc 2.9.9+repack1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,848 kB
  • ctags: 5,787
  • sloc: cpp: 104,337; sh: 8,921; xml: 2,950; makefile: 520; ansic: 491; awk: 197
file content (94 lines) | stat: -rw-r--r-- 2,462 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// $Id: CbcObjectUpdateData.cpp 1899 2013-04-09 18:12:08Z stefan $
// Copyright (C) 2002, International Business Machines
// Corporation and others.  All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).

// Edwin 11/12/2009 carved from CbcBranchBase

#if defined(_MSC_VER)
// Turn off compiler warning about long names
#  pragma warning(disable:4786)
#endif
#include <cassert>
#include <cstdlib>
#include <cmath>
#include <cfloat>

#include "OsiSolverInterface.hpp"
#include "OsiSolverBranch.hpp"
#include "OsiChooseVariable.hpp"
#include "CbcModel.hpp"
#include "CbcMessage.hpp"
#include "CbcBranchBase.hpp"
#include "CbcObjectUpdateData.hpp"

// Default constructor
CbcObjectUpdateData::CbcObjectUpdateData()
        : object_(NULL),
        way_(0),
        objectNumber_(-1),
        change_(0.0),
        status_(0),
        intDecrease_(0),
        branchingValue_(0.0),
        originalObjective_(COIN_DBL_MAX),
        cutoff_(COIN_DBL_MAX)
{
}

// Useful constructor
CbcObjectUpdateData::CbcObjectUpdateData (CbcObject * object,
        int way,
        double change,
        int status,
        int intDecrease,
        double branchingValue)
        : object_(object),
        way_(way),
        objectNumber_(-1),
        change_(change),
        status_(status),
        intDecrease_(intDecrease),
        branchingValue_(branchingValue),
        originalObjective_(COIN_DBL_MAX),
        cutoff_(COIN_DBL_MAX)
{
}

// Destructor
CbcObjectUpdateData::~CbcObjectUpdateData ()
{
}

// Copy constructor
CbcObjectUpdateData::CbcObjectUpdateData ( const CbcObjectUpdateData & rhs)
        : object_(rhs.object_),
        way_(rhs.way_),
        objectNumber_(rhs.objectNumber_),
        change_(rhs.change_),
        status_(rhs.status_),
        intDecrease_(rhs.intDecrease_),
        branchingValue_(rhs.branchingValue_),
        originalObjective_(rhs.originalObjective_),
        cutoff_(rhs.cutoff_)
{
}

// Assignment operator
CbcObjectUpdateData &
CbcObjectUpdateData::operator=( const CbcObjectUpdateData & rhs)
{
    if (this != &rhs) {
        object_ = rhs.object_;
        way_ = rhs.way_;
        objectNumber_ = rhs.objectNumber_;
        change_ = rhs.change_;
        status_ = rhs.status_;
        intDecrease_ = rhs.intDecrease_;
        branchingValue_ = rhs.branchingValue_;
        originalObjective_ = rhs.originalObjective_;
        cutoff_ = rhs.cutoff_;
    }
    return *this;
}