MLPACK
1.0.8
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
mlpack
core.hpp
Go to the documentation of this file.
1
/***
2
* @file core.hpp
3
*
4
* Include all of the base components required to write MLPACK methods, and the
5
* main MLPACK Doxygen documentation.
6
*
7
* This file is part of MLPACK 1.0.8.
8
*
9
* MLPACK is free software: you can redistribute it and/or modify it under the
10
* terms of the GNU Lesser General Public License as published by the Free
11
* Software Foundation, either version 3 of the License, or (at your option) any
12
* later version.
13
*
14
* MLPACK is distributed in the hope that it will be useful, but WITHOUT ANY
15
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
17
* details (LICENSE.txt).
18
*
19
* You should have received a copy of the GNU General Public License along with
20
* MLPACK. If not, see <http://www.gnu.org/licenses/>.
21
*/
22
#ifndef __MLPACK_CORE_HPP
23
#define __MLPACK_CORE_HPP
24
152
// First, standard includes.
153
#include <stdlib.h>
154
#include <stdio.h>
155
#include <string.h>
156
#include <ctype.h>
157
#include <limits.h>
158
#include <float.h>
159
#include <stdint.h>
160
#include <iostream>
161
162
// Defining _USE_MATH_DEFINES should set M_PI.
163
#define _USE_MATH_DEFINES
164
#include <math.h>
165
166
// For tgamma().
167
#include <boost/math/special_functions/gamma.hpp>
168
169
// But if it's not defined, we'll do it.
170
#ifndef M_PI
171
#define M_PI 3.141592653589793238462643383279
172
#endif
173
174
// Give ourselves a nice way to force functions to be inline if we need.
175
#define force_inline
176
#if defined(__GNUG__) && !defined(DEBUG)
177
#undef force_inline
178
#define force_inline __attribute__((always_inline))
179
#elif defined(_MSC_VER) && !defined(DEBUG)
180
#undef force_inline
181
#define force_inline __forceinline
182
#endif
183
184
// Now MLPACK-specific includes.
185
#include <mlpack/core/arma_extend/arma_extend.hpp>
// Includes Armadillo.
186
#include <
mlpack/core/util/log.hpp
>
187
#include <
mlpack/core/util/cli.hpp
>
188
#include <
mlpack/core/data/load.hpp
>
189
#include <
mlpack/core/data/save.hpp
>
190
#include <
mlpack/core/data/normalize_labels.hpp
>
191
#include <
mlpack/core/math/clamp.hpp
>
192
#include <
mlpack/core/math/random.hpp
>
193
#include <
mlpack/core/math/lin_alg.hpp
>
194
#include <
mlpack/core/math/range.hpp
>
195
#include <
mlpack/core/math/round.hpp
>
196
#include <
mlpack/core/util/save_restore_utility.hpp
>
197
#include <
mlpack/core/dists/discrete_distribution.hpp
>
198
#include <
mlpack/core/dists/gaussian_distribution.hpp
>
199
200
// Include kernel traits.
201
#include <
mlpack/core/kernels/kernel_traits.hpp
>
202
#include <
mlpack/core/kernels/linear_kernel.hpp
>
203
#include <
mlpack/core/kernels/polynomial_kernel.hpp
>
204
#include <
mlpack/core/kernels/cosine_distance.hpp
>
205
#include <
mlpack/core/kernels/gaussian_kernel.hpp
>
206
#include <
mlpack/core/kernels/epanechnikov_kernel.hpp
>
207
#include <
mlpack/core/kernels/hyperbolic_tangent_kernel.hpp
>
208
#include <
mlpack/core/kernels/laplacian_kernel.hpp
>
209
#include <
mlpack/core/kernels/pspectrum_string_kernel.hpp
>
210
#include <
mlpack/core/kernels/spherical_kernel.hpp
>
211
#include <
mlpack/core/kernels/triangular_kernel.hpp
>
212
213
#endif
214
215
// Clean up unfortunate Windows preprocessor definitions, even if this file was
216
// already included. Use std::min and std::max!
217
#ifdef _WIN32
218
#ifdef min
219
#undef min
220
#endif
221
222
#ifdef max
223
#undef max
224
#endif
225
#endif
cosine_distance.hpp
pspectrum_string_kernel.hpp
gaussian_distribution.hpp
epanechnikov_kernel.hpp
load.hpp
save.hpp
linear_kernel.hpp
triangular_kernel.hpp
round.hpp
clamp.hpp
Miscellaneous math clamping routines.
lin_alg.hpp
cli.hpp
gaussian_kernel.hpp
polynomial_kernel.hpp
normalize_labels.hpp
hyperbolic_tangent_kernel.hpp
laplacian_kernel.hpp
kernel_traits.hpp
random.hpp
Miscellaneous math random-related routines.
range.hpp
Definition of the Range class, which represents a simple range with a lower and upper bound...
log.hpp
spherical_kernel.hpp
discrete_distribution.hpp
save_restore_utility.hpp
Generated on Sat Apr 12 2014 22:51:39 for MLPACK by
1.8.6