1 %module IOHprofiler
2 
3 %begin %{
4 #define SWIG_PYTHON_CAST_MODE
5 %}
6 
7 %feature("autodoc", "2");
8 
9 %include <std_shared_ptr.i>
10 %include <std_string.i>
11 %include <std_vector.i>
12 %include <std_map.i>
13 %include <stdint.i>
14 %shared_ptr(IOHprofiler_problem< int >)
15 %shared_ptr(IOHprofiler_problem< double >)
16 %shared_ptr(IOHprofiler_suite< double >)
17 %shared_ptr(IOHprofiler_suite< int >)
18 %shared_ptr(DoubleValue)
19 %shared_ptr(IntValue)
20 
21 %shared_ptr(OneMax)
22 %shared_ptr(LeadingOnes)
23 %shared_ptr(Linear)
24 %shared_ptr(OneMax_Dummy1)
25 %shared_ptr(OneMax_Dummy2)
26 %shared_ptr(OneMax_Neutrality)
27 %shared_ptr(OneMax_Epistasis)
28 %shared_ptr(OneMax_Ruggedness1)
29 %shared_ptr(OneMax_Ruggedness2)
30 %shared_ptr(OneMax_Ruggedness3)
31 %shared_ptr(LeadingOnes_Dummy1)
32 %shared_ptr(LeadingOnes_Dummy2)
33 %shared_ptr(LeadingOnes_Neutrality)
34 %shared_ptr(LeadingOnes_Epistasis)
35 %shared_ptr(LeadingOnes_Ruggedness1)
36 %shared_ptr(LeadingOnes_Ruggedness2)
37 %shared_ptr(LeadingOnes_Ruggedness3)
38 %shared_ptr(LABS)
39 %shared_ptr(MIS)
40 %shared_ptr(Ising_Ring)
41 %shared_ptr(Ising_Torus)
42 %shared_ptr(Ising_Triangular)
43 %shared_ptr(NQueens)
44 %shared_ptr(Concatenated_Trap)
45 %shared_ptr(NK_Landscapes)
46 %shared_ptr(W_Model_OneMax)
47 %shared_ptr(W_Model_LeadingOnes)
48 %shared_ptr(Sphere)
49 %shared_ptr(Ellipsoid)
50 %shared_ptr(Rastrigin)
51 %shared_ptr(Bueche_Rastrigin)
52 %shared_ptr(Linear_Slope)
53 %shared_ptr(Attractive_Sector)
54 %shared_ptr(Step_Ellipsoid)
55 %shared_ptr(Rosenbrock)
56 %shared_ptr(Rosenbrock_Rotated)
57 %shared_ptr(Ellipsoid_Rotated)
58 %shared_ptr(Discus)
59 %shared_ptr(Bent_Cigar)
60 %shared_ptr(Sharp_Ridge)
61 %shared_ptr(Different_Powers)
62 %shared_ptr(Rastrigin_Rotated)
63 %shared_ptr(Weierstrass)
64 %shared_ptr(Schaffers10)
65 %shared_ptr(Schaffers1000)
66 %shared_ptr(Griewank_RosenBrock)
67 %shared_ptr(Schwefel)
68 %shared_ptr(Gallagher101)
69 %shared_ptr(Gallagher21)
70 %shared_ptr(Katsuura)
71 %shared_ptr(Lunacek_Bi_Rastrigin)
72 %shared_ptr(PBO_suite)
73 %shared_ptr(BBOB_suite)
74 %{
75 #include "coco_transformation_objs.hpp"
76 #include "coco_transformation_vars.hpp"
77 #include "coco_transformation.hpp"
78 #include "suite_bbob_legacy_code.hpp"
79 #include "f_attractive_sector.hpp"
80 #include "f_bent_cigar.hpp"
81 #include "f_bueche_rastrigin.hpp"
82 #include "f_different_powers.hpp"
83 #include "f_discus.hpp"
84 #include "f_ellipsoid.hpp"
85 #include "f_ellipsoid_rotated.hpp"
86 #include "f_gallagher101.hpp"
87 #include "f_gallagher21.hpp"
88 #include "f_griewank_rosenbrock.hpp"
89 #include "f_rastrigin.hpp"
90 #include "f_rastrigin_rotated.hpp"
91 #include "f_rosenbrock.hpp"
92 #include "f_rosenbrock_rotated.hpp"
93 #include "f_schaffers1000.hpp"
94 #include "f_schaffers10.hpp"
95 #include "f_schwefel.hpp"
96 #include "f_sharp_ridge.hpp"
97 #include "f_sphere.hpp"
98 #include "f_step_ellipsoid.hpp"
99 #include "f_weierstrass.hpp"
100 #include "f_linear_slope.hpp"
101 #include "f_lunacek_bi_rastrigin.hpp"
102 #include "f_katsuura.hpp"
103 #include "wmodels.hpp"
104 #include "f_ising_ring.hpp"
105 #include "f_ising_torus.hpp"
106 #include "f_ising_triangular.hpp"
107 #include "f_labs.hpp"
108 #include "f_leading_ones_dummy1.hpp"
109 #include "f_leading_ones_dummy2.hpp"
110 #include "f_leading_ones_epistasis.hpp"
111 #include "f_leading_ones.hpp"
112 #include "f_leading_ones_neutrality.hpp"
113 #include "f_leading_ones_ruggedness1.hpp"
114 #include "f_leading_ones_ruggedness2.hpp"
115 #include "f_leading_ones_ruggedness3.hpp"
116 #include "f_linear.hpp"
117 #include "f_MIS.hpp"
118 #include "f_N_queens.hpp"
119 #include "f_one_max_dummy1.hpp"
120 #include "f_one_max_dummy2.hpp"
121 #include "f_one_max_epistasis.hpp"
122 #include "f_one_max.hpp"
123 #include "f_one_max_neutrality.hpp"
124 #include "f_one_max_ruggedness1.hpp"
125 #include "f_one_max_ruggedness2.hpp"
126 #include "f_one_max_ruggedness3.hpp"
127 #include "f_w_model_one_max.hpp"
128 #include "f_w_model_leading_ones.hpp"
129 #include "IOHprofiler_BBOB_suite.hpp"
130 #include "IOHprofiler_PBO_suite.hpp"
131 #include "IOHprofiler_class_generator.h"
132 #include "IOHprofiler_configuration.h"
133 #include "IOHprofiler_experimenter.h"
134 #include "IOHprofiler_string.hpp"
135 #include "IOHprofiler_observer.h"
136 #include "IOHprofiler_problem.h"
137 #include "IOHprofiler_suite.h"
138 #include "IOHprofiler_random.h"
139 #include "IOHprofiler_transformation.h"
140 #include "IOHprofiler_csv_logger.h"
141 #include "IOHprofiler_common.h"
142 #include "IOHprofiler_platform.h"
143 
144 typedef unsigned int    uint32_t;
145 #if defined(SWIGWORDSIZE64)
146 typedef unsigned long int unit64_t;
147 #else
148 typedef unsigned long long int unit64_t;
149 #endif
150 typedef  std::map<std::string, int> PROBLEM_NAME_ID;
151 typedef  std::map<int, std::string> PROBLEM_ID_NAME;
152 
153 %}
154 
155 %template(intvec) std::vector<int>;
156 %template(doublevec) std::vector<double>;
157 %template(stringvec) std::vector<std::string>;
158 
159 %include "IOHprofiler_configuration.h"
160 %include "IOHprofiler_experimenter.h"
161 %include "IOHprofiler_observer.h"
162 
163 %include "IOHprofiler_problem.h"
164 %template(IOHprofiler_Problem_int) IOHprofiler_problem<int>;
165 %template(IOHprofiler_Problem_double) IOHprofiler_problem<double>;
166 %template(intProblemPtr) std::vector< std::shared_ptr< IOHprofiler_problem< int > > >;
167 %template(doubleProblemPtr) std::vector< std::shared_ptr< IOHprofiler_problem< double > > >;
168 %include "IOHprofiler_random.h"
169 %include "IOHprofiler_string.hpp"
170 
171 %include "IOHprofiler_transformation.h"
172 %include "suite_bbob_legacy_code.hpp"
173 %include "wmodels.hpp"
174 %include "IOHprofiler_csv_logger.h"
175 %include "IOHprofiler_common.h"
176 %include "IOHprofiler_platform.h"
177 %include "coco_transformation_objs.hpp"
178 %include "coco_transformation_vars.hpp"
179 %include "coco_transformation.hpp"
180 
181 %include "f_attractive_sector.hpp"
182 %include "f_bent_cigar.hpp"
183 %include "f_bueche_rastrigin.hpp"
184 %include "f_different_powers.hpp"
185 %include "f_discus.hpp"
186 %include "f_ellipsoid.hpp"
187 %include "f_ellipsoid_rotated.hpp"
188 %include "f_gallagher101.hpp"
189 %include "f_gallagher21.hpp"
190 %include "f_griewank_rosenbrock.hpp"
191 %include "f_rastrigin.hpp"
192 %include "f_rastrigin_rotated.hpp"
193 %include "f_rosenbrock.hpp"
194 %include "f_rosenbrock_rotated.hpp"
195 %include "f_schaffers1000.hpp"
196 %include "f_schaffers10.hpp"
197 %include "f_schwefel.hpp"
198 %include "f_sharp_ridge.hpp"
199 %include "f_sphere.hpp"
200 %include "f_step_ellipsoid.hpp"
201 %include "f_weierstrass.hpp"
202 %include "f_linear_slope.hpp"
203 %include "f_lunacek_bi_rastrigin.hpp"
204 %include "f_katsuura.hpp"
205 %include "f_ising_ring.hpp"
206 %include "f_ising_torus.hpp"
207 %include "f_ising_triangular.hpp"
208 %include "f_labs.hpp"
209 %include "f_leading_ones_dummy1.hpp"
210 %include "f_leading_ones_dummy2.hpp"
211 %include "f_leading_ones_epistasis.hpp"
212 %include "f_leading_ones.hpp"
213 %include "f_leading_ones_neutrality.hpp"
214 %include "f_leading_ones_ruggedness1.hpp"
215 %include "f_leading_ones_ruggedness2.hpp"
216 %include "f_leading_ones_ruggedness3.hpp"
217 %include "f_linear.hpp"
218 %include "f_MIS.hpp"
219 %include "f_N_queens.hpp"
220 %include "f_one_max_dummy1.hpp"
221 %include "f_one_max_dummy2.hpp"
222 %include "f_one_max_epistasis.hpp"
223 %include "f_one_max.hpp"
224 %include "f_one_max_neutrality.hpp"
225 %include "f_one_max_ruggedness1.hpp"
226 %include "f_one_max_ruggedness2.hpp"
227 %include "f_one_max_ruggedness3.hpp"
228 %include "f_w_model_one_max.hpp"
229 %include "f_w_model_leading_ones.hpp"
230 
231 %include "IOHprofiler_class_generator.h"
232 
233 
234 %template (genericGenerator_int_problem) genericGenerator<IOHprofiler_problem<int> >;
235 %template (genericGenerator_double_problem) genericGenerator<IOHprofiler_problem<double> >;
236 %include "IOHprofiler_suite.h"
237 %template(IOHprofiler_suite_int) IOHprofiler_suite< int >;
238 %template(IOHprofiler_suite_double) IOHprofiler_suite< double >;
239 
240 %include "IOHprofiler_BBOB_suite.hpp"
241 %include "IOHprofiler_PBO_suite.hpp"
242 
243 %apply int{ UInt32 }
244 
245 %module IOHprofiler
246 #pragma SWIG nowarn=401
247