[Coin-discuss] CoinBigIndex

Matthew Galati magh at lehigh.edu
Tue Dec 16 02:46:52 EST 2003


Hi Coin,

I needed to use long (vs int) for my element indices. I noticed that 
with ${CoinDefine} += COIN_BIG_INDEX some of the Coin library functions 
are using CoinBigIndex typedef'd to a long. Adding this to CoinDefine, 
however, produced a number of compiler errors. The following is a patch 
that should allow Coin, Osi, OsiOsl, OsiClp to compile (using the 
typedef'd CoinBigIndex). I have not tested it outside of getting it to 
compile, link and run (on my stuff).



Index: CoinFactorization1.cpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Coin/CoinFactorization1.cpp,v
retrieving revision 1.10
diff -r1.10 CoinFactorization1.cpp
1618c1618
<     int * startR = startColumnR_ + extraSpace+1;
---
>     CoinBigIndex * startR = startColumnR_ + extraSpace+1;
Index: CoinFactorization3.cpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Coin/CoinFactorization3.cpp,v
retrieving revision 1.15
diff -r1.15 CoinFactorization3.cpp
779c779
<     int * startR = startColumnR_+maximumPivots_+1;
---
>     CoinBigIndex * startR = startColumnR_+maximumPivots_+1;
799c799
<       startR[maximumColumnsExtra_] = min(put + 4,lengthAreaR_);
---
>        startR[maximumColumnsExtra_] = put + 4 < lengthAreaR_ ? put + 4 
: lengthAreaR_;
1770c1770
<   int * startR = startColumnR_+maximumPivots_+1;
---
>   CoinBigIndex * startR = startColumnR_+maximumPivots_+1;
Index: CoinFactorization4.cpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Coin/CoinFactorization4.cpp,v
retrieving revision 1.14
diff -r1.14 CoinFactorization4.cpp
747c747
<       int * startR = startColumnR_+maximumPivots_+1;
---
>       CoinBigIndex * startR = startColumnR_+maximumPivots_+1;
799c799
<       int * startR = startColumnR_+maximumPivots_+1;
---
>       CoinBigIndex * startR = startColumnR_+maximumPivots_+1;
918c918
<     int * startR = startColumnR_+maximumPivots_+1;
---
>      CoinBigIndex * startR = startColumnR_+maximumPivots_+1;
987c987
<     int * startR = startColumnR_+maximumPivots_+1;
---
>      CoinBigIndex * startR = startColumnR_+maximumPivots_+1;
Index: CoinPackedMatrix.cpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Coin/CoinPackedMatrix.cpp,v
retrieving revision 1.16
diff -r1.16 CoinPackedMatrix.cpp
1829c1829
<     maxSize_=max(1,size_);
---
>     maxSize_= 1 > size_ ? 1 : size_;



 
Index: OsiClp/OsiClpSolverInterface.cpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Osi/OsiClp/OsiClpSolverInterface.cpp,v
retrieving revision 1.42
diff -r1.42 OsiClpSolverInterface.cpp
1078c1078
<                    const int* start, const int* index,
---
>                     const CoinBigIndex* start, const int* index,
1094c1094
<                    const int* start, const int* index,
---
>                     const CoinBigIndex* start, const int* index,
Index: OsiClp/include/OsiClpSolverInterface.hpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Osi/OsiClp/include/OsiClpSolverInterface.hpp,v
retrieving revision 1.17
diff -r1.17 OsiClpSolverInterface.hpp
622c622
<                  const int* start, const int* index,
---
>                   const CoinBigIndex* start, const int* index,
631c631
<                  const int* start, const int* index,
---
>                   const CoinBigIndex* start, const int* index,
Index: OsiOsl/OsiOslSolverInterface.cpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Osi/OsiOsl/OsiOslSolverInterface.cpp,v
retrieving revision 1.16
diff -r1.16 OsiOslSolverInterface.cpp
27c27
<       const int * start = matrix.getVectorStarts();
---
>       const CoinBigIndex * start = matrix.getVectorStarts();
1153c1153
<   int* start = new int[numcols+1];
---
>   CoinBigIndex* start = new CoinBigIndex[numcols+1];
1350c1350
<                    const int* start, const int* index,
---
>                     const CoinBigIndex* start, const int* index,
1369c1369
<                    const int* start, const int* index,
---
>                     const CoinBigIndex* start, const int* index,
Index: OsiOsl/include/OsiOslSolverInterface.hpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Osi/OsiOsl/include/OsiOslSolverInterface.hpp,v
retrieving revision 1.7
diff -r1.7 OsiOslSolverInterface.hpp
553c553
<                  const int* start, const int* index,
---
>                   const CoinBigIndex* start, const int* index,
562c562
<                  const int* start, const int* index,
---
>                   const CoinBigIndex* start, const int* index,
Index: include/OsiSolverInterface.hpp
===================================================================
RCS file: /usr/cvs/coin/COIN/Osi/include/OsiSolverInterface.hpp,v
retrieving revision 1.20
diff -r1.20 OsiSolverInterface.hpp
10a11
>  #include "CoinPackedMatrix.hpp"
817c818
<                  const int* start, const int* index,
---
>                   const CoinBigIndex* start, const int* index,
826c827
<                  const int* start, const int* index,
---
>                   const CoinBigIndex* start, const int* index,


-- 
Matthew Galati
ISE Lehigh University
IBM Service Parts Solutions
610.758.4042 (Office)
610.882.0779 (Home)
magh at lehigh.edu, magal11 at us.ibm.com
http://sagan.ie.lehigh.edu/mgalati/





More information about the Coin-discuss mailing list