/usr/include/opengm/inference/lpcplex2.hxx is in libopengm-dev 2.3.6-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | #ifndef OPENGM_LPCPLEX2_HXX_
#define OPENGM_LPCPLEX2_HXX_
#include <opengm/inference/auxiliary/lp_solver/lp_solver_cplex.hxx>
#include <opengm/inference/lp_inference_base.hxx>
namespace opengm {
/********************
* class definition *
*******************/
template<class GM_TYPE, class ACC_TYPE>
class LPCplex2 : public LPSolverCplex, public LPInferenceBase<LPCplex2<GM_TYPE, ACC_TYPE> > {
public:
// typedefs
typedef ACC_TYPE AccumulationType;
typedef GM_TYPE GraphicalModelType;
OPENGM_GM_TYPE_TYPEDEFS;
typedef LPInferenceBase<LPCplex2<GraphicalModelType, AccumulationType> > LPInferenceBaseType;
typedef typename LPInferenceBaseType::Parameter Parameter;
// construction
LPCplex2(const GraphicalModelType& gm, const Parameter& parameter = Parameter());
virtual ~LPCplex2();
// public member functions
virtual std::string name() const;
};
template<class GM_TYPE, class ACC_TYPE>
struct LPInferenceTraits<LPCplex2<GM_TYPE, ACC_TYPE> > {
// typedefs
typedef ACC_TYPE AccumulationType;
typedef GM_TYPE GraphicalModelType;
typedef LPSolverCplex SolverType;
typedef typename LPSolverCplex::CplexIndexType SolverIndexType;
typedef typename LPSolverCplex::CplexValueType SolverValueType;
typedef typename LPSolverCplex::CplexSolutionIteratorType SolverSolutionIteratorType;
typedef typename LPSolverCplex::CplexTimingType SolverTimingType;
typedef typename LPSolverCplex::Parameter SolverParameterType;
};
/***********************
* class documentation *
**********************/
/*! \file lpcplex2.hxx
* \brief Provides implementation for LP inference with CPLEX.
*/
/*! \class LPCplex2
* \brief LP inference with CPLEX.
*
* This class combines opengm::LPSolverCplex and opengm::LPInferenceBase to
* provide inference for graphical models using CPLEX.
*
* \tparam GM_TYPE Graphical Model type.
* \tparam ACC_TYPE Accumulation type.
*
* \ingroup inference
*/
/*! \typedef LPCplex2::AccumulationType
* \brief Typedef of the Accumulation type.
*/
/*! \typedef LPCplex2::GraphicalModelType
* \brief Typedef of the graphical model type.
*/
/*! \typedef LPCplex2::LPInferenceBaseType
* \brief Typedef of class opengm::LPInferenceBase with appropriate template
* parameter.
*/
/*! \typedef LPCplex2::Parameter
* \brief Typedef of the parameter type defined by class
* opengm::LPInferenceBase.
*/
/*! \fn LPCplex2::LPCplex2(const GraphicalModelType& gm, const Parameter& parameter = Parameter())
* \brief LPCplex2 constructor.
*
* \param[in] gm The graphical model for inference.
* \param[in] parameter The parameter defining the settings for inference. See
* opengm::LPSolverInterface::Parameter and
* opengm::LPInferenceBase::Parameter for possible
* settings.
*/
/*! \fn LPCplex2::~LPCplex2()
* \brief LPCplex2 destructor.
*/
/*! \fn std::string LPCplex2::name() const
* \brief Name of the inference method.
*/
/******************
* implementation *
*****************/
template<class GM_TYPE, class ACC_TYPE>
inline LPCplex2<GM_TYPE, ACC_TYPE>::LPCplex2(const GraphicalModelType& gm, const Parameter& parameter)
: LPSolverCplex(parameter), LPInferenceBaseType(gm, parameter) {
}
template<class GM_TYPE, class ACC_TYPE>
inline LPCplex2<GM_TYPE, ACC_TYPE>::~LPCplex2() {
}
template<class GM_TYPE, class ACC_TYPE>
inline std::string LPCplex2<GM_TYPE, ACC_TYPE>::name() const {
return "LPCplex2";
}
} // namespace opengm
#endif /* OPENGM_LPCPLEX2_HXX_ */
|