Changeset 2280 for trunk


Ignore:
Timestamp:
Oct 3, 2017 7:35:27 AM (2 years ago)
Author:
forrest
Message:

ampl with COIN_BIG_INDEX

Location:
trunk/Clp/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/ClpSolver.cpp

    r2279 r2280  
    371371                if (!coinModelStart.model) {
    372372                  // linear
    373 #if COIN_BIG_INDEX==0
    374                     models->loadProblem(info.numberColumns, info.numberRows, info.starts,
     373                  models->loadProblem(info.numberColumns, info.numberRows,
     374                                      reinterpret_cast<const CoinBigIndex *>(info.starts),
    375375                                        info.rows, info.elements,
    376376                                        info.columnLower, info.columnUpper, info.objective,
    377377                                        info.rowLower, info.rowUpper);
    378 #else
    379                     int numberColumns=info.numberColumns;
    380                     CoinBigIndex * starts = new CoinBigIndex[numberColumns+1];
    381                     for (int i=0;i<numberColumns+1;i++)
    382                       starts[i]=info.starts[i];
    383                     models->loadProblem(info.numberColumns, info.numberRows, starts,
    384                                         info.rows, info.elements,
    385                                         info.columnLower, info.columnUpper, info.objective,
    386                                         info.rowLower, info.rowUpper);
    387                     delete [] starts;
    388 #endif
    389378                } else {
    390379                  // QP
  • trunk/Clp/src/Clp_ampl.cpp

    r2030 r2280  
    419419    if (!(nlvc + nlvo) && nonLinearType < 10) {
    420420        /* read linear model*/
     421#if COIN_BIG_INDEX==2
     422        f_read(nl, ASL_allow_Z|ASL_use_Z);
     423#else
    421424        f_read(nl, 0);
     425#endif
    422426        // see if any sos
    423427        if (true) {
     
    502506        info->columnLower = columnLower;
    503507        info->columnUpper = columnUpper;
     508#if COIN_BIG_INDEX==0
    504509        info->starts = A_colstarts;
     510#else
     511        info->starts = A_colstartsZ;
     512#endif
    505513        /*A_colstarts=NULL;*/
    506514        info->rows = A_rownos;
     
    882890        rsd = suf_iput("sstatus", ASL_Sufkind_con, rowStatus);
    883891        /* read linear model*/
     892#if COIN_BIG_INDEX==2
     893        f_read(nl, ASL_allow_Z|ASL_use_Z);
     894#else
    884895        f_read(nl, 0);
     896#endif
    885897        // see if any sos
    886898        if (true) {
     
    987999#endif
    9881000        }
     1001#if COIN_BIG_INDEX==0
    9891002        CoinPackedMatrix columnCopy(true, numberRows, numberColumns, numberElements,
    9901003                                    A_vals, A_rownos, A_colstarts, NULL);
     1004#else
     1005        CoinPackedMatrix columnCopy(true, numberRows, numberColumns, numberElements,
     1006                                    A_vals, A_rownos,
     1007                                    reinterpret_cast<const CoinBigIndex *>(A_colstartsZ), NULL);
     1008#endif
    9911009        matrixByRow.reverseOrderedCopyOf(columnCopy);
    9921010    } else if (nonLinear == 1) {
  • trunk/Clp/src/Clp_ampl.h

    r1948 r2280  
    2626    double * columnLower;
    2727    double * columnUpper;
     28#if COIN_BIG_INDEX==0
    2829    int * starts;
     30#else
     31    long unsigned int * starts;
     32#endif
    2933    int * rows;
    3034    double * elements;
Note: See TracChangeset for help on using the changeset viewer.