Sha256: 22e5ded4df0f4fcf9ce0a82b8387c454805ae8d0c8cab20f7ab8ffd14a6d883b

Contents?: true

Size: 1.57 KB

Versions: 16

Compression:

Stored size: 1.57 KB

Contents

/*
 *  WorkComparators.hh
 *  
 *
 *  Created by Jérémie Vautard on 31/03/10.
 *  Copyright 2010 Université d'Orléans. All rights reserved.
 *
 */

#include "WorkManager.hh"
#include "QCOPPlus.hh"

class BidonComparator : public WorkComparator {
	public : 
  virtual bool cmp(QWork a,QWork b) {
    return false;
  }
};

class DeepFirstComparator : public WorkComparator {
	public : 
  virtual bool cmp(QWork a,QWork b) {
    if (a.root().size() > b.root().size()) return true;
    if (a.root().size() < b.root().size()) return false;
    return ((a.getRemaining()) < (b.getRemaining()));
  }
};

class QuantifierThenDepthComparator : public WorkComparator {
	private :
	Qcop* problem;
	bool existsFirst;
	bool deepestFirst;
	
	public : 
	QuantifierThenDepthComparator(Qcop* p,bool existsFirst,bool deepestFirst) { 
		this->problem = p;
		this->existsFirst = existsFirst;
		this->deepestFirst = deepestFirst;
	}	
	virtual bool cmp(QWork a,QWork b) {
		bool q1 = (problem->qt_of_var(a.root().size()) != existsFirst);
		bool q2 = (problem->qt_of_var(b.root().size()) != existsFirst);
		if (q1 && !q2) return true;
		if (!q1 && q2) return false;
		int d1 = a.root().size();
		int d2 = b.root().size();
		if ( (d1 < d2) != deepestFirst) return true;
		return false;
	}
};

class DepthComparator : public WorkComparator {
	private : 
	bool deepestFirst;
	public : 
	DepthComparator(bool deepestFirst) {
		this->deepestfirst = deepestFirst;
	}
	
	virtual bool cmp(QWork a,QWork b) {
		int d1 = a.root().size();
		int d2 = b.root().size();
		if ( (d1 < d2) != deepestFirst) return true;
		return false;
	}
};

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
dep-selector-libgecode-1.3.5 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.3.1 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.3.0-x86_64-linux ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.3.0-x86_64-darwin-15 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.3.0 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.2.0 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.1.0 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.1.0.beta.1 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.2 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.1 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.0 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.0.rc.1 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.0.rc.0 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.0.alpha.2 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.0.alpha.1 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh
dep-selector-libgecode-1.0.0.alpha.0 ext/libgecode3/vendor/gecode-3.7.3/contribs/qecode/WorkComparators.hh