- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Cgl-0.53.1/CoinUtils/src/CoinPresolveZeros.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2002, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003
    00004 #ifndef CoinPresolveZeros_H
    00005 #define CoinPresolveZeros_H
    00006
    00012 #define DROP_ZERO       8
    00013
    00020 struct dropped_zero {
    00021   int row;
    00022   int col;
    00023 };
    00024
    00030 class drop_zero_coefficients_action : public CoinPresolveAction {
    00031
    00032   const int nzeros_;
    00033   const dropped_zero *const zeros_;
    00034
    00035   drop_zero_coefficients_action(int nzeros,
    00036                                 const dropped_zero *zeros,
    00037                                 const CoinPresolveAction *next) :
    00038     CoinPresolveAction(next),
    00039     nzeros_(nzeros), zeros_(zeros)
    00040 {}
    00041
    00042  public:
    00043   const char *name() const { return ("drop_zero_coefficients_action"); }
    00044
    00045   static const CoinPresolveAction *presolve(CoinPresolveMatrix *prob,
    00046                                          int *checkcols,
    00047                                          int ncheckcols,
    00048                                          const CoinPresolveAction *next);
    00049
    00050   void postsolve(CoinPostsolveMatrix *prob) const;
    00051
    00052   ~drop_zero_coefficients_action() { deleteAction(zeros_,dropped_zero*); }
    00053 };
    00054
    00055 const CoinPresolveAction *drop_zero_coefficients(CoinPresolveMatrix *prob,
    00056                                               const CoinPresolveAction *next);
    00057
    00058 #endif