float.cpp
Go to the documentation of this file.00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 00002 /* 00003 * Main authors: 00004 * Mikael Lagerkvist <lagerkvist@gecode.org> 00005 * Vincent Barichard <Vincent.Barichard@univ-angers.fr> 00006 * 00007 * Copyright: 00008 * Mikael Lagerkvist, 2006 00009 * Vincent Barichard, 2012 00010 * 00011 * This file is part of Gecode, the generic constraint 00012 * development environment: 00013 * http://www.gecode.org 00014 * 00015 * Permission is hereby granted, free of charge, to any person obtaining 00016 * a copy of this software and associated documentation files (the 00017 * "Software"), to deal in the Software without restriction, including 00018 * without limitation the rights to use, copy, modify, merge, publish, 00019 * distribute, sublicense, and/or sell copies of the Software, and to 00020 * permit persons to whom the Software is furnished to do so, subject to 00021 * the following conditions: 00022 * 00023 * The above copyright notice and this permission notice shall be 00024 * included in all copies or substantial portions of the Software. 00025 * 00026 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00027 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00028 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 00029 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 00030 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 00031 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 00032 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00033 * 00034 */ 00035 00036 #include "test/branch.hh" 00037 00038 #ifdef GECODE_HAS_FLOAT_VARS 00039 00040 namespace Test { namespace Branch { 00041 00043 class Float : public FloatTest { 00044 public: 00046 Float(const std::string& s, const Gecode::FloatVal& d, int n, int nbSols) 00047 : FloatTest(s,n,d,nbSols) {} 00049 virtual void post(Gecode::Space& home, Gecode::FloatVarArray& x) { 00050 for (int i=0; i<x.size()-1; i++) 00051 Gecode::rel(home, x[i], Gecode::FRT_LQ, x[i+1]); 00052 } 00053 }; 00054 00055 namespace { 00056 Gecode::FloatVal d_dense(-2,2); 00057 Gecode::FloatVal d_large(-2,10); 00058 00059 Float d_3("Dense::3",d_dense,3,10); 00060 Float d_5("Dense::5",d_dense,5,10); 00061 Float l_2("Large::2",d_large,2,10); 00062 Float l_3("Large::3",d_large,3,10); 00063 } 00064 00065 }} 00066 00067 #endif 00068 00069 // STATISTICS: test-branch 00070