this repo has no description
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 2/* 3 * Main authors: 4 * Mikael Lagerkvist <lagerkvist@gecode.org> 5 * Vincent Barichard <Vincent.Barichard@univ-angers.fr> 6 * 7 * Copyright: 8 * Mikael Lagerkvist, 2006 9 * Vincent Barichard, 2012 10 * 11 * This file is part of Gecode, the generic constraint 12 * development environment: 13 * http://www.gecode.org 14 * 15 * Permission is hereby granted, free of charge, to any person obtaining 16 * a copy of this software and associated documentation files (the 17 * "Software"), to deal in the Software without restriction, including 18 * without limitation the rights to use, copy, modify, merge, publish, 19 * distribute, sublicense, and/or sell copies of the Software, and to 20 * permit persons to whom the Software is furnished to do so, subject to 21 * the following conditions: 22 * 23 * The above copyright notice and this permission notice shall be 24 * included in all copies or substantial portions of the Software. 25 * 26 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 27 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 28 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 29 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 31 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 32 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 33 * 34 */ 35 36#include "test/branch.hh" 37 38#ifdef GECODE_HAS_FLOAT_VARS 39 40namespace Test { namespace Branch { 41 42 /// %Test brancher with distinct propagator 43 class Float : public FloatTest { 44 public: 45 /// Create and register test 46 Float(const std::string& s, const Gecode::FloatVal& d, int n, int nbSols) 47 : FloatTest(s,n,d,nbSols) {} 48 /// Post propagators on variables \a x 49 virtual void post(Gecode::Space& home, Gecode::FloatVarArray& x) { 50 for (int i=0; i<x.size()-1; i++) 51 Gecode::rel(home, x[i], Gecode::FRT_LQ, x[i+1]); 52 } 53 }; 54 55 namespace { 56 Gecode::FloatVal d_dense(-2,2); 57 Gecode::FloatVal d_large(-2,10); 58 59 Float d_3("Dense::3",d_dense,3,10); 60 Float d_5("Dense::5",d_dense,5,10); 61 Float l_2("Large::2",d_large,2,10); 62 Float l_3("Large::3",d_large,3,10); 63 } 64 65}} 66 67#endif 68 69// STATISTICS: test-branch 70