00001 /* $Id: CouenneExprJac.hpp 716 2011-06-26 12:43:43Z pbelotti $ 00002 * 00003 * Name: CouenneExprJac.hpp 00004 * Authors: Pietro Belotti, Lehigh University 00005 * Purpose: Jacobian expression 00006 * 00007 * This file is licensed under the Eclipse Public License (EPL) 00008 */ 00009 00010 #ifndef CouenneExprJac_HPP 00011 #define CouenneExprJac_HPP 00012 00013 namespace Couenne { 00014 00015 class expression; 00016 class CouenneProblem; 00017 00020 00021 class ExprJac { 00022 00023 private: 00024 00025 int nnz_; 00026 int *iRow_; 00027 int *jCol_; 00028 00029 expression **expr_; 00030 00031 int nRows_; 00032 00033 public: 00034 00035 ExprJac (); 00036 ExprJac (CouenneProblem *); 00037 ~ExprJac (); 00038 00039 ExprJac (const ExprJac &); 00040 ExprJac *clone (); 00041 ExprJac &operator= (const ExprJac &); 00042 00043 int nnz () const {return nnz_;} 00044 int *iRow () const {return iRow_;} 00045 int *jCol () const {return jCol_;} 00046 00047 expression **expr () const {return expr_;} 00048 00049 int nRows () const {return nRows_;} 00050 }; 00051 } 00052 00053 #endif