source: scolib/trunk/src/libs/SCORegistrations.cpp @ 7411

Revision 7411, 2.1 KB checked in by wehart, 2 years ago (diff)

Adding PIDOMS to the build.

This breaks right now, since COLIN has changed a bit. But I want to force the resolution of this
issue...

Line 
1/*  _________________________________________________________________________
2 *
3 *  Acro: A Common Repository for Optimizers
4 *  Copyright (c) 2008 Sandia Corporation.
5 *  This software is distributed under the BSD License.
6 *  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
7 *  the U.S. Government retains certain rights in this software.
8 *  For more information, see the README.txt file in the top Acro directory.
9 *  _________________________________________________________________________
10 */
11#include <acro_config.h>
12#include <scolib/SCORegistrations.h>
13
14namespace scolib {
15
16/** See the colin/ColinRegistrations.h header file for
17 *  discussion of this registration strategy.
18 */
19namespace StaticInitializers {
20
21// solver registrations
22
23extern const volatile bool DIRECT_bool;
24extern const volatile bool DockingPS_bool;
25extern const volatile bool EAminlp_bool;
26//extern const volatile bool MultiStart_bool;
27extern const volatile bool MultiStatePS_bool;
28extern const volatile bool PatternSearch_bool;
29extern const volatile bool PLGO_bool;
30extern const volatile bool SolisWets_bool;
31extern const volatile bool TGPO_bool;
32extern const volatile bool PIDOMS_bool;
33
34namespace {
35
36long RegisterAll()
37{
38   long ans = 0;
39
40   // solver registrations
41   ans = ans<<1 + (DIRECT_bool ? 0 : 1);
42   ans = ans<<1 + (DockingPS_bool ? 0 : 1);
43   ans = ans<<1 + (EAminlp_bool ? 0 : 1);
44   //ans &= ans<<1 + (MultiStart_bool ? 0 : 1);
45   ans = ans<<1 + (MultiStatePS_bool ? 0 : 1);
46   ans = ans<<1 + (PatternSearch_bool ? 0 : 1);
47   ans = ans<<1 + (PLGO_bool ? 0 : 1);
48   ans = ans<<1 + (SolisWets_bool ? 0 : 1);
49   ans = ans<<1 + (TGPO_bool ? 0 : 1);
50   ans = ans<<1 + (PIDOMS_bool ? 0 : 1);
51
52   //if ( ans != 0 )
53   //   std::cerr << "WARNING: Incomplete Acro SCOlib registrations: "
54   //             << ans << std::endl;
55
56   return ans;
57}
58
59} // namespace interfaces::StaticInitializers::(local)
60
61#ifdef ACRO_USING_DYNAMIC_LIBRARIES
62extern const volatile long static_scolib_registrations = -1;
63#else
64extern const volatile long static_scolib_registrations = RegisterAll();
65#endif
66
67} // namespace interfaces::StaticInitializers
68} // namespace scolib
Note: See TracBrowser for help on using the repository browser.