Added the function isFinite(), and replaced the calls to finite() with it.
This was necessary because finite() is not a standard function. Neither can
we use its standard counterpart isfinite(), because it was introduced only
in C99, and therefore it is not supplied by all C++ implementations.
3 * This file is a part of LEMON, a generic C++ optimization library
5 * Copyright (C) 2003-2007
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
19 #include <lemon/simann.h>
21 using namespace lemon;
23 class MyEntity : public EntityBase {
26 MyEntity() : d(100000.0) {}
29 if (rnd.boolean(0.8)) { d += 1.0; }
33 void revert() { d = prev_d; }
34 MyEntity* clone() { return new MyEntity (*this); }
40 SimpleController ctrl;
41 simann.setController(ctrl);
43 simann.setEntity(ent);
46 //MyEntity *best_ent = (MyEntity *) simann.getBestEntity();
47 //std::cout << best_ent->d << std::endl;
50 AdvancedController ctrl2(2.0);
51 simann2.setController(ctrl2);
53 simann2.setEntity(ent2);
56 //MyEntity *best_ent2 = (MyEntity *) simann2.getBestEntity();
57 //std::cout << best_ent2->d << std::endl;