/[ascend]/trunk/pygtk/solver.h
ViewVC logotype

Contents of /trunk/pygtk/solver.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (show annotations) (download) (as text)
Mon Apr 24 02:23:08 2006 UTC (18 years, 1 month ago) by johnpye
File MIME type: text/x-chdr
File size: 1267 byte(s)
Removed 'interface' directory in trunk/pygtk/interface (moved everything up a level)
Made corresponding changes to SCons* and spec files.
1 #ifndef ASCXX_SOLVER_H
2 #define ASCXX_SOLVER_H
3
4 #include <string>
5 #include <vector>
6
7 #include "config.h"
8 extern "C"{
9 #include <utilities/ascConfig.h>
10 #include <compiler/instance_enum.h>
11 #include <solver/slv_types.h>
12 #include <solver/mtx.h>
13 #include <solver/var.h>
14 #include <solver/rel.h>
15 #include <solver/discrete.h>
16 #include <solver/conditional.h>
17 #include <solver/logrel.h>
18 #include <solver/bnd.h>
19 #include <solver/linsol.h>
20 #include <solver/linsolqr.h>
21 #include <solver/slv_common.h>
22 #include <solver/slv_client.h>
23 }
24
25 /**
26 This is a rather problematic wrapper for slv_client.h. It's hard because registerd solvers
27 are referenced primarily by index, not by pointer etc, so given the index, we always have
28 to look up the solver in some way or other.
29
30 Because the index is changeable from session to session, depending on the order of
31 registration, we'll use the *name* as the primary key and look up the index as needed.
32 */
33 class Solver{
34 private:
35 std::string name;
36 public:
37 Solver(const Solver &);
38 Solver(const std::string &name);
39
40 const int getIndex() const;
41 const std::string& getName() const;
42 };
43
44 /**
45 Some global functions
46 */
47 void registerStandardSolvers();
48 void registerSolver(SlvRegistration regfuncptr);
49 const std::vector<Solver> getSolvers();
50
51 #endif

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22