Ignore:
Timestamp:
Oct 1, 2008 11:45:12 AM (11 years ago)
Author:
forrest
Message:

changes for factorization and aux region

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/ClpFactorization.hpp

    r1284 r1286  
    1212class ClpNetworkBasis;
    1313#ifndef CLP_MULTIPLE_FACTORIZATIONS
    14 #define CLP_MULTIPLE_FACTORIZATIONS 1
     14#define CLP_MULTIPLE_FACTORIZATIONS 3
    1515#endif   
    1616#if CLP_MULTIPLE_FACTORIZATIONS == 1
    1717#include "CoinDenseFactorization.hpp"
    18 typedef CoinDenseFactorization CoinOtherFactorization;
     18typedef CoinDenseFactorization CoinSmallFactorization;
    1919#elif CLP_MULTIPLE_FACTORIZATIONS == 2
    2020#include "CoinSimpFactorization.hpp"
    21 typedef CoinSimpFactorization CoinOtherFactorization;
     21typedef CoinSimpFactorization CoinSmallFactorization;
     22#elif CLP_MULTIPLE_FACTORIZATIONS == 3
     23#include "CoinDenseFactorization.hpp"
     24#include "CoinSimpFactorization.hpp"
    2225#endif
    2326
     
    6063   /**@name Copy method */
    6164   //@{
    62    /** The copy constructor. */
    63    ClpFactorization(const ClpFactorization&);
    6465   /** The copy constructor from an CoinFactorization. */
    6566   ClpFactorization(const CoinFactorization&);
    6667#ifdef CLP_MULTIPLE_FACTORIZATIONS   
    67    /** The copy constructor from an CoinOtherFactorization. */
    68    ClpFactorization(const CoinOtherFactorization&);
     68   /** The copy constructor. */
     69  ClpFactorization(const ClpFactorization&,int denseIfSmaller=-1);
     70   /** The copy constructor from an CoinSmallFactorization. */
     71   ClpFactorization(const CoinSmallFactorization&);
     72#else
     73   /** The copy constructor. */
     74   ClpFactorization(const ClpFactorization&);
    6975#endif
    7076   ClpFactorization& operator=(const ClpFactorization&);
     
    275281  inline void setGoDenseThreshold(int value)
    276282  { goDenseThreshold_ = value;}
    277   /// Go over to dense code
    278   void goDense() ;
     283  /// Get switch to small if number rows <= this
     284  inline int goSmallThreshold() const
     285  { return goSmallThreshold_;}
     286  /// Set switch to small if number rows <= this
     287  inline void setGoSmallThreshold(int value)
     288  { goSmallThreshold_ = value;}
     289  /// Go over to dense or small code if small enough
     290  void goDenseOrSmall(int numberRows) ;
    279291  /// Return 1 if dense code
    280   inline int isDense() const
     292  inline int isDenseOrSmall() const
    281293  { return coinFactorizationB_ ? 1 : 0;}
    282294#else
     
    333345  /// Pointer to CoinFactorization
    334346  CoinFactorization * coinFactorizationA_;
    335   /// Pointer to CoinOtherFactorization
    336   CoinOtherFactorization * coinFactorizationB_;
     347  /// Pointer to CoinSmallFactorization
     348  CoinSmallFactorization * coinFactorizationB_;
     349  /// Switch to small if number rows <= this
     350  int goSmallThreshold_;
    337351  /// Switch to dense if number rows <= this
    338352  int goDenseThreshold_;
Note: See TracChangeset for help on using the changeset viewer.