COIN-OR::LEMON - Graph Library

Changeset 846:9d380bf27194 in lemon-main for tools


Ignore:
Timestamp:
02/20/10 16:51:43 (15 years ago)
Author:
Peter Kovacs <kpeter@…>
Branch:
default
Phase:
public
Message:

Use 'long long' flow cost in dimacs-solver.cc (#347)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/dimacs-solver.cc

    r644 r846  
    9292}
    9393
    94 template<class Value>
     94template<class Value, class LargeValue>
    9595void solve_min(ArgParser &ap, std::istream &is, std::ostream &,
    9696               Value infty, DimacsDescriptor &desc)
     
    128128    std::cerr << "Run NetworkSimplex: " << ti << "\n\n";
    129129    std::cerr << "Feasible flow: " << (res ? "found" : "not found") << '\n';
    130     if (res) std::cerr << "Min flow cost: " << ns.totalCost() << '\n';
     130    if (res) std::cerr << "Min flow cost: "
     131                       << ns.template totalCost<LargeValue>() << '\n';
    131132  }
    132133}
     
    152153
    153154
    154 template<class Value>
     155template<class Value, class LargeValue>
    155156void solve(ArgParser &ap, std::istream &is, std::ostream &os,
    156157           DimacsDescriptor &desc)
     
    170171    {
    171172    case DimacsDescriptor::MIN:
    172       solve_min<Value>(ap,is,os,infty,desc);
     173      solve_min<Value, LargeValue>(ap,is,os,infty,desc);
    173174      break;
    174175    case DimacsDescriptor::MAX:
     
    265266   
    266267  if(ap.given("double"))
    267     solve<double>(ap,is,os,desc);
     268    solve<double, double>(ap,is,os,desc);
    268269  else if(ap.given("ldouble"))
    269     solve<long double>(ap,is,os,desc);
     270    solve<long double, long double>(ap,is,os,desc);
    270271#ifdef LEMON_HAVE_LONG_LONG
    271272  else if(ap.given("long"))
    272     solve<long long>(ap,is,os,desc);
     273    solve<long long, long long>(ap,is,os,desc);
     274  else solve<int, long long>(ap,is,os,desc);
     275#else
     276  else solve<int, long>(ap,is,os,desc);
    273277#endif
    274   else solve<int>(ap,is,os,desc);
    275278
    276279  return 0;
Note: See TracChangeset for help on using the changeset viewer.