armadillo 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798
  1. // Copyright 2008-2016 Conrad Sanderson (http://conradsanderson.id.au)
  2. // Copyright 2008-2016 National ICT Australia (NICTA)
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. // ------------------------------------------------------------------------
  15. #ifndef ARMA_INCLUDES
  16. #define ARMA_INCLUDES
  17. #include <cstdlib>
  18. #include <cstddef>
  19. #include <cstdio>
  20. #include <cstring>
  21. #include <climits>
  22. #include <cmath>
  23. #include <ctime>
  24. #include <ctype.h>
  25. #include <iostream>
  26. #include <fstream>
  27. #include <sstream>
  28. #include <stdexcept>
  29. #include <new>
  30. #include <limits>
  31. #include <algorithm>
  32. #include <complex>
  33. #include <vector>
  34. #include <utility>
  35. #include <map>
  36. #if ( defined(__unix__) || defined(__unix) || defined(_POSIX_C_SOURCE) || (defined(__APPLE__) && defined(__MACH__)) ) && !defined(_WIN32)
  37. #include <unistd.h>
  38. #endif
  39. #if (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L))
  40. #include <sys/time.h>
  41. #endif
  42. #include "armadillo_bits/compiler_extra.hpp"
  43. #include "armadillo_bits/config.hpp"
  44. #include "armadillo_bits/compiler_setup.hpp"
  45. #if defined(ARMA_USE_CXX11)
  46. #include <initializer_list>
  47. #include <cstdint>
  48. #include <random>
  49. #include <functional>
  50. #include <chrono>
  51. #endif
  52. #if (defined(ARMA_USE_CXX11) && !defined(ARMA_DONT_USE_CXX11_MUTEX))
  53. #include <mutex>
  54. #include <atomic>
  55. #endif
  56. #if defined(ARMA_USE_TBB_ALLOC)
  57. #include <tbb/scalable_allocator.h>
  58. #endif
  59. #if defined(ARMA_USE_MKL_ALLOC)
  60. #include <mkl_service.h>
  61. #endif
  62. #if !defined(ARMA_USE_CXX11)
  63. #if defined(ARMA_HAVE_TR1)
  64. #include <tr1/cmath>
  65. #include <tr1/complex>
  66. #endif
  67. #endif
  68. #include "armadillo_bits/include_atlas.hpp"
  69. #include "armadillo_bits/include_hdf5.hpp"
  70. #include "armadillo_bits/include_superlu.hpp"
  71. #if defined(ARMA_USE_OPENMP)
  72. #include <omp.h>
  73. #endif
  74. //! \namespace arma namespace for Armadillo classes and functions
  75. namespace arma
  76. {
  77. // preliminaries
  78. #include "armadillo_bits/arma_forward.hpp"
  79. #include "armadillo_bits/arma_static_check.hpp"
  80. #include "armadillo_bits/typedef_elem.hpp"
  81. #include "armadillo_bits/typedef_elem_check.hpp"
  82. #include "armadillo_bits/typedef_mat.hpp"
  83. #include "armadillo_bits/arma_str.hpp"
  84. #include "armadillo_bits/arma_version.hpp"
  85. #include "armadillo_bits/arma_config.hpp"
  86. #include "armadillo_bits/traits.hpp"
  87. #include "armadillo_bits/promote_type.hpp"
  88. #include "armadillo_bits/upgrade_val.hpp"
  89. #include "armadillo_bits/restrictors.hpp"
  90. #include "armadillo_bits/access.hpp"
  91. #include "armadillo_bits/span.hpp"
  92. #include "armadillo_bits/distr_param.hpp"
  93. #include "armadillo_bits/constants.hpp"
  94. #include "armadillo_bits/constants_old.hpp"
  95. #include "armadillo_bits/mp_misc.hpp"
  96. #include "armadillo_bits/arma_rel_comparators.hpp"
  97. #ifdef ARMA_RNG_ALT
  98. #include ARMA_INCFILE_WRAP(ARMA_RNG_ALT)
  99. #else
  100. #include "armadillo_bits/arma_rng_cxx98.hpp"
  101. #endif
  102. #include "armadillo_bits/arma_rng_cxx11.hpp"
  103. #include "armadillo_bits/arma_rng.hpp"
  104. //
  105. // class prototypes
  106. #include "armadillo_bits/Base_bones.hpp"
  107. #include "armadillo_bits/BaseCube_bones.hpp"
  108. #include "armadillo_bits/SpBase_bones.hpp"
  109. #include "armadillo_bits/def_blas.hpp"
  110. #include "armadillo_bits/def_lapack.hpp"
  111. #include "armadillo_bits/def_atlas.hpp"
  112. #include "armadillo_bits/def_arpack.hpp"
  113. #include "armadillo_bits/def_superlu.hpp"
  114. #include "armadillo_bits/def_hdf5.hpp"
  115. #include "armadillo_bits/translate_blas.hpp"
  116. #include "armadillo_bits/translate_lapack.hpp"
  117. #include "armadillo_bits/translate_atlas.hpp"
  118. #include "armadillo_bits/translate_arpack.hpp"
  119. #include "armadillo_bits/translate_superlu.hpp"
  120. #include "armadillo_bits/cond_rel_bones.hpp"
  121. #include "armadillo_bits/arrayops_bones.hpp"
  122. #include "armadillo_bits/podarray_bones.hpp"
  123. #include "armadillo_bits/auxlib_bones.hpp"
  124. #include "armadillo_bits/sp_auxlib_bones.hpp"
  125. #include "armadillo_bits/injector_bones.hpp"
  126. #include "armadillo_bits/Mat_bones.hpp"
  127. #include "armadillo_bits/Col_bones.hpp"
  128. #include "armadillo_bits/Row_bones.hpp"
  129. #include "armadillo_bits/Cube_bones.hpp"
  130. #include "armadillo_bits/xvec_htrans_bones.hpp"
  131. #include "armadillo_bits/xtrans_mat_bones.hpp"
  132. #include "armadillo_bits/SizeMat_bones.hpp"
  133. #include "armadillo_bits/SizeCube_bones.hpp"
  134. #include "armadillo_bits/SpValProxy_bones.hpp"
  135. #include "armadillo_bits/SpMat_bones.hpp"
  136. #include "armadillo_bits/SpCol_bones.hpp"
  137. #include "armadillo_bits/SpRow_bones.hpp"
  138. #include "armadillo_bits/SpSubview_bones.hpp"
  139. #include "armadillo_bits/spdiagview_bones.hpp"
  140. #include "armadillo_bits/MapMat_bones.hpp"
  141. #include "armadillo_bits/typedef_mat_fixed.hpp"
  142. #include "armadillo_bits/field_bones.hpp"
  143. #include "armadillo_bits/subview_bones.hpp"
  144. #include "armadillo_bits/subview_elem1_bones.hpp"
  145. #include "armadillo_bits/subview_elem2_bones.hpp"
  146. #include "armadillo_bits/subview_field_bones.hpp"
  147. #include "armadillo_bits/subview_cube_bones.hpp"
  148. #include "armadillo_bits/diagview_bones.hpp"
  149. #include "armadillo_bits/subview_each_bones.hpp"
  150. #include "armadillo_bits/subview_cube_each_bones.hpp"
  151. #include "armadillo_bits/subview_cube_slices_bones.hpp"
  152. #include "armadillo_bits/hdf5_name.hpp"
  153. #include "armadillo_bits/csv_name.hpp"
  154. #include "armadillo_bits/diskio_bones.hpp"
  155. #include "armadillo_bits/wall_clock_bones.hpp"
  156. #include "armadillo_bits/running_stat_bones.hpp"
  157. #include "armadillo_bits/running_stat_vec_bones.hpp"
  158. #include "armadillo_bits/Op_bones.hpp"
  159. #include "armadillo_bits/CubeToMatOp_bones.hpp"
  160. #include "armadillo_bits/OpCube_bones.hpp"
  161. #include "armadillo_bits/SpOp_bones.hpp"
  162. #include "armadillo_bits/SpToDOp_bones.hpp"
  163. #include "armadillo_bits/eOp_bones.hpp"
  164. #include "armadillo_bits/eOpCube_bones.hpp"
  165. #include "armadillo_bits/mtOp_bones.hpp"
  166. #include "armadillo_bits/mtOpCube_bones.hpp"
  167. #include "armadillo_bits/mtSpOp_bones.hpp"
  168. #include "armadillo_bits/Glue_bones.hpp"
  169. #include "armadillo_bits/eGlue_bones.hpp"
  170. #include "armadillo_bits/mtGlue_bones.hpp"
  171. #include "armadillo_bits/SpGlue_bones.hpp"
  172. #include "armadillo_bits/mtSpGlue_bones.hpp"
  173. #include "armadillo_bits/GlueCube_bones.hpp"
  174. #include "armadillo_bits/eGlueCube_bones.hpp"
  175. #include "armadillo_bits/mtGlueCube_bones.hpp"
  176. #include "armadillo_bits/eop_core_bones.hpp"
  177. #include "armadillo_bits/eglue_core_bones.hpp"
  178. #include "armadillo_bits/GenSpecialiser.hpp"
  179. #include "armadillo_bits/Gen_bones.hpp"
  180. #include "armadillo_bits/GenCube_bones.hpp"
  181. #include "armadillo_bits/op_diagmat_bones.hpp"
  182. #include "armadillo_bits/op_diagvec_bones.hpp"
  183. #include "armadillo_bits/op_dot_bones.hpp"
  184. #include "armadillo_bits/op_inv_bones.hpp"
  185. #include "armadillo_bits/op_htrans_bones.hpp"
  186. #include "armadillo_bits/op_max_bones.hpp"
  187. #include "armadillo_bits/op_min_bones.hpp"
  188. #include "armadillo_bits/op_index_max_bones.hpp"
  189. #include "armadillo_bits/op_index_min_bones.hpp"
  190. #include "armadillo_bits/op_mean_bones.hpp"
  191. #include "armadillo_bits/op_median_bones.hpp"
  192. #include "armadillo_bits/op_sort_bones.hpp"
  193. #include "armadillo_bits/op_sort_index_bones.hpp"
  194. #include "armadillo_bits/op_sum_bones.hpp"
  195. #include "armadillo_bits/op_stddev_bones.hpp"
  196. #include "armadillo_bits/op_strans_bones.hpp"
  197. #include "armadillo_bits/op_var_bones.hpp"
  198. #include "armadillo_bits/op_repmat_bones.hpp"
  199. #include "armadillo_bits/op_repelem_bones.hpp"
  200. #include "armadillo_bits/op_reshape_bones.hpp"
  201. #include "armadillo_bits/op_vectorise_bones.hpp"
  202. #include "armadillo_bits/op_resize_bones.hpp"
  203. #include "armadillo_bits/op_cov_bones.hpp"
  204. #include "armadillo_bits/op_cor_bones.hpp"
  205. #include "armadillo_bits/op_shift_bones.hpp"
  206. #include "armadillo_bits/op_shuffle_bones.hpp"
  207. #include "armadillo_bits/op_prod_bones.hpp"
  208. #include "armadillo_bits/op_pinv_bones.hpp"
  209. #include "armadillo_bits/op_dotext_bones.hpp"
  210. #include "armadillo_bits/op_flip_bones.hpp"
  211. #include "armadillo_bits/op_reverse_bones.hpp"
  212. #include "armadillo_bits/op_princomp_bones.hpp"
  213. #include "armadillo_bits/op_misc_bones.hpp"
  214. #include "armadillo_bits/op_orth_null_bones.hpp"
  215. #include "armadillo_bits/op_relational_bones.hpp"
  216. #include "armadillo_bits/op_find_bones.hpp"
  217. #include "armadillo_bits/op_find_unique_bones.hpp"
  218. #include "armadillo_bits/op_chol_bones.hpp"
  219. #include "armadillo_bits/op_cx_scalar_bones.hpp"
  220. #include "armadillo_bits/op_trimat_bones.hpp"
  221. #include "armadillo_bits/op_cumsum_bones.hpp"
  222. #include "armadillo_bits/op_cumprod_bones.hpp"
  223. #include "armadillo_bits/op_symmat_bones.hpp"
  224. #include "armadillo_bits/op_hist_bones.hpp"
  225. #include "armadillo_bits/op_unique_bones.hpp"
  226. #include "armadillo_bits/op_toeplitz_bones.hpp"
  227. #include "armadillo_bits/op_fft_bones.hpp"
  228. #include "armadillo_bits/op_any_bones.hpp"
  229. #include "armadillo_bits/op_all_bones.hpp"
  230. #include "armadillo_bits/op_normalise_bones.hpp"
  231. #include "armadillo_bits/op_clamp_bones.hpp"
  232. #include "armadillo_bits/op_expmat_bones.hpp"
  233. #include "armadillo_bits/op_nonzeros_bones.hpp"
  234. #include "armadillo_bits/op_diff_bones.hpp"
  235. #include "armadillo_bits/op_norm_bones.hpp"
  236. #include "armadillo_bits/op_sqrtmat_bones.hpp"
  237. #include "armadillo_bits/op_logmat_bones.hpp"
  238. #include "armadillo_bits/op_range_bones.hpp"
  239. #include "armadillo_bits/op_chi2rnd_bones.hpp"
  240. #include "armadillo_bits/op_wishrnd_bones.hpp"
  241. #include "armadillo_bits/op_roots_bones.hpp"
  242. #include "armadillo_bits/op_cond_bones.hpp"
  243. #include "armadillo_bits/op_sp_plus_bones.hpp"
  244. #include "armadillo_bits/op_sp_minus_bones.hpp"
  245. #include "armadillo_bits/op_powmat_bones.hpp"
  246. #include "armadillo_bits/glue_times_bones.hpp"
  247. #include "armadillo_bits/glue_mixed_bones.hpp"
  248. #include "armadillo_bits/glue_cov_bones.hpp"
  249. #include "armadillo_bits/glue_cor_bones.hpp"
  250. #include "armadillo_bits/glue_kron_bones.hpp"
  251. #include "armadillo_bits/glue_cross_bones.hpp"
  252. #include "armadillo_bits/glue_join_bones.hpp"
  253. #include "armadillo_bits/glue_relational_bones.hpp"
  254. #include "armadillo_bits/glue_solve_bones.hpp"
  255. #include "armadillo_bits/glue_conv_bones.hpp"
  256. #include "armadillo_bits/glue_toeplitz_bones.hpp"
  257. #include "armadillo_bits/glue_hist_bones.hpp"
  258. #include "armadillo_bits/glue_histc_bones.hpp"
  259. #include "armadillo_bits/glue_max_bones.hpp"
  260. #include "armadillo_bits/glue_min_bones.hpp"
  261. #include "armadillo_bits/glue_trapz_bones.hpp"
  262. #include "armadillo_bits/glue_atan2_bones.hpp"
  263. #include "armadillo_bits/glue_hypot_bones.hpp"
  264. #include "armadillo_bits/glue_polyfit_bones.hpp"
  265. #include "armadillo_bits/glue_polyval_bones.hpp"
  266. #include "armadillo_bits/glue_intersect_bones.hpp"
  267. #include "armadillo_bits/glue_affmul_bones.hpp"
  268. #include "armadillo_bits/glue_mvnrnd_bones.hpp"
  269. #include "armadillo_bits/glue_quantile_bones.hpp"
  270. #include "armadillo_bits/gmm_misc_bones.hpp"
  271. #include "armadillo_bits/gmm_diag_bones.hpp"
  272. #include "armadillo_bits/gmm_full_bones.hpp"
  273. #include "armadillo_bits/spop_max_bones.hpp"
  274. #include "armadillo_bits/spop_min_bones.hpp"
  275. #include "armadillo_bits/spop_sum_bones.hpp"
  276. #include "armadillo_bits/spop_strans_bones.hpp"
  277. #include "armadillo_bits/spop_htrans_bones.hpp"
  278. #include "armadillo_bits/spop_misc_bones.hpp"
  279. #include "armadillo_bits/spop_diagmat_bones.hpp"
  280. #include "armadillo_bits/spop_mean_bones.hpp"
  281. #include "armadillo_bits/spop_var_bones.hpp"
  282. #include "armadillo_bits/spop_trimat_bones.hpp"
  283. #include "armadillo_bits/spop_symmat_bones.hpp"
  284. #include "armadillo_bits/spop_normalise_bones.hpp"
  285. #include "armadillo_bits/spop_reverse_bones.hpp"
  286. #include "armadillo_bits/spop_repmat_bones.hpp"
  287. #include "armadillo_bits/spop_vectorise_bones.hpp"
  288. #include "armadillo_bits/spglue_elem_helper_bones.hpp"
  289. #include "armadillo_bits/spglue_plus_bones.hpp"
  290. #include "armadillo_bits/spglue_minus_bones.hpp"
  291. #include "armadillo_bits/spglue_schur_bones.hpp"
  292. #include "armadillo_bits/spglue_times_bones.hpp"
  293. #include "armadillo_bits/spglue_join_bones.hpp"
  294. #include "armadillo_bits/spglue_kron_bones.hpp"
  295. #include "armadillo_bits/spglue_min_bones.hpp"
  296. #include "armadillo_bits/spglue_max_bones.hpp"
  297. #include "armadillo_bits/spglue_merge_bones.hpp"
  298. #include "armadillo_bits/spglue_relational_bones.hpp"
  299. #if defined(ARMA_USE_NEWARP)
  300. #include "armadillo_bits/newarp_EigsSelect.hpp"
  301. #include "armadillo_bits/newarp_DenseGenMatProd_bones.hpp"
  302. #include "armadillo_bits/newarp_SparseGenMatProd_bones.hpp"
  303. #include "armadillo_bits/newarp_DoubleShiftQR_bones.hpp"
  304. #include "armadillo_bits/newarp_GenEigsSolver_bones.hpp"
  305. #include "armadillo_bits/newarp_SymEigsSolver_bones.hpp"
  306. #include "armadillo_bits/newarp_TridiagEigen_bones.hpp"
  307. #include "armadillo_bits/newarp_UpperHessenbergEigen_bones.hpp"
  308. #include "armadillo_bits/newarp_UpperHessenbergQR_bones.hpp"
  309. #endif
  310. //
  311. // low-level debugging and memory handling functions
  312. #include "armadillo_bits/debug.hpp"
  313. #include "armadillo_bits/memory.hpp"
  314. //
  315. // wrappers for various cmath functions
  316. #include "armadillo_bits/arma_cmath.hpp"
  317. //
  318. // classes that underlay metaprogramming
  319. #include "armadillo_bits/unwrap.hpp"
  320. #include "armadillo_bits/unwrap_cube.hpp"
  321. #include "armadillo_bits/unwrap_spmat.hpp"
  322. #include "armadillo_bits/Proxy.hpp"
  323. #include "armadillo_bits/ProxyCube.hpp"
  324. #include "armadillo_bits/SpProxy.hpp"
  325. #include "armadillo_bits/diagmat_proxy.hpp"
  326. #include "armadillo_bits/strip.hpp"
  327. #include "armadillo_bits/eop_aux.hpp"
  328. //
  329. // ostream
  330. #include "armadillo_bits/arma_ostream_bones.hpp"
  331. #include "armadillo_bits/arma_ostream_meat.hpp"
  332. //
  333. // n_unique, which is used by some sparse operators
  334. #include "armadillo_bits/fn_n_unique.hpp"
  335. //
  336. // operators
  337. #include "armadillo_bits/operator_plus.hpp"
  338. #include "armadillo_bits/operator_minus.hpp"
  339. #include "armadillo_bits/operator_times.hpp"
  340. #include "armadillo_bits/operator_schur.hpp"
  341. #include "armadillo_bits/operator_div.hpp"
  342. #include "armadillo_bits/operator_relational.hpp"
  343. #include "armadillo_bits/operator_cube_plus.hpp"
  344. #include "armadillo_bits/operator_cube_minus.hpp"
  345. #include "armadillo_bits/operator_cube_times.hpp"
  346. #include "armadillo_bits/operator_cube_schur.hpp"
  347. #include "armadillo_bits/operator_cube_div.hpp"
  348. #include "armadillo_bits/operator_cube_relational.hpp"
  349. #include "armadillo_bits/operator_ostream.hpp"
  350. //
  351. // user accessible functions
  352. // the order of the fn_*.hpp include files matters,
  353. // as some files require functionality given in preceding files
  354. #include "armadillo_bits/fn_conv_to.hpp"
  355. #include "armadillo_bits/fn_max.hpp"
  356. #include "armadillo_bits/fn_min.hpp"
  357. #include "armadillo_bits/fn_index_max.hpp"
  358. #include "armadillo_bits/fn_index_min.hpp"
  359. #include "armadillo_bits/fn_accu.hpp"
  360. #include "armadillo_bits/fn_sum.hpp"
  361. #include "armadillo_bits/fn_diagmat.hpp"
  362. #include "armadillo_bits/fn_diagvec.hpp"
  363. #include "armadillo_bits/fn_inv.hpp"
  364. #include "armadillo_bits/fn_trace.hpp"
  365. #include "armadillo_bits/fn_trans.hpp"
  366. #include "armadillo_bits/fn_det.hpp"
  367. #include "armadillo_bits/fn_log_det.hpp"
  368. #include "armadillo_bits/fn_eig_gen.hpp"
  369. #include "armadillo_bits/fn_eig_sym.hpp"
  370. #include "armadillo_bits/fn_eig_pair.hpp"
  371. #include "armadillo_bits/fn_lu.hpp"
  372. #include "armadillo_bits/fn_zeros.hpp"
  373. #include "armadillo_bits/fn_ones.hpp"
  374. #include "armadillo_bits/fn_eye.hpp"
  375. #include "armadillo_bits/fn_misc.hpp"
  376. #include "armadillo_bits/fn_orth_null.hpp"
  377. #include "armadillo_bits/fn_regspace.hpp"
  378. #include "armadillo_bits/fn_find.hpp"
  379. #include "armadillo_bits/fn_find_unique.hpp"
  380. #include "armadillo_bits/fn_elem.hpp"
  381. #include "armadillo_bits/fn_approx_equal.hpp"
  382. #include "armadillo_bits/fn_norm.hpp"
  383. #include "armadillo_bits/fn_dot.hpp"
  384. #include "armadillo_bits/fn_randu.hpp"
  385. #include "armadillo_bits/fn_randn.hpp"
  386. #include "armadillo_bits/fn_trig.hpp"
  387. #include "armadillo_bits/fn_mean.hpp"
  388. #include "armadillo_bits/fn_median.hpp"
  389. #include "armadillo_bits/fn_stddev.hpp"
  390. #include "armadillo_bits/fn_var.hpp"
  391. #include "armadillo_bits/fn_sort.hpp"
  392. #include "armadillo_bits/fn_sort_index.hpp"
  393. #include "armadillo_bits/fn_strans.hpp"
  394. #include "armadillo_bits/fn_chol.hpp"
  395. #include "armadillo_bits/fn_qr.hpp"
  396. #include "armadillo_bits/fn_svd.hpp"
  397. #include "armadillo_bits/fn_solve.hpp"
  398. #include "armadillo_bits/fn_repmat.hpp"
  399. #include "armadillo_bits/fn_repelem.hpp"
  400. #include "armadillo_bits/fn_reshape.hpp"
  401. #include "armadillo_bits/fn_vectorise.hpp"
  402. #include "armadillo_bits/fn_resize.hpp"
  403. #include "armadillo_bits/fn_cov.hpp"
  404. #include "armadillo_bits/fn_cor.hpp"
  405. #include "armadillo_bits/fn_shift.hpp"
  406. #include "armadillo_bits/fn_shuffle.hpp"
  407. #include "armadillo_bits/fn_prod.hpp"
  408. #include "armadillo_bits/fn_eps.hpp"
  409. #include "armadillo_bits/fn_pinv.hpp"
  410. #include "armadillo_bits/fn_rank.hpp"
  411. #include "armadillo_bits/fn_kron.hpp"
  412. #include "armadillo_bits/fn_flip.hpp"
  413. #include "armadillo_bits/fn_reverse.hpp"
  414. #include "armadillo_bits/fn_as_scalar.hpp"
  415. #include "armadillo_bits/fn_princomp.hpp"
  416. #include "armadillo_bits/fn_cross.hpp"
  417. #include "armadillo_bits/fn_join.hpp"
  418. #include "armadillo_bits/fn_conv.hpp"
  419. #include "armadillo_bits/fn_trunc_exp.hpp"
  420. #include "armadillo_bits/fn_trunc_log.hpp"
  421. #include "armadillo_bits/fn_toeplitz.hpp"
  422. #include "armadillo_bits/fn_trimat.hpp"
  423. #include "armadillo_bits/fn_trimat_ind.hpp"
  424. #include "armadillo_bits/fn_cumsum.hpp"
  425. #include "armadillo_bits/fn_cumprod.hpp"
  426. #include "armadillo_bits/fn_symmat.hpp"
  427. #include "armadillo_bits/fn_syl_lyap.hpp"
  428. #include "armadillo_bits/fn_hist.hpp"
  429. #include "armadillo_bits/fn_histc.hpp"
  430. #include "armadillo_bits/fn_unique.hpp"
  431. #include "armadillo_bits/fn_fft.hpp"
  432. #include "armadillo_bits/fn_fft2.hpp"
  433. #include "armadillo_bits/fn_any.hpp"
  434. #include "armadillo_bits/fn_all.hpp"
  435. #include "armadillo_bits/fn_size.hpp"
  436. #include "armadillo_bits/fn_numel.hpp"
  437. #include "armadillo_bits/fn_inplace_strans.hpp"
  438. #include "armadillo_bits/fn_inplace_trans.hpp"
  439. #include "armadillo_bits/fn_randi.hpp"
  440. #include "armadillo_bits/fn_randg.hpp"
  441. #include "armadillo_bits/fn_cond.hpp"
  442. #include "armadillo_bits/fn_normalise.hpp"
  443. #include "armadillo_bits/fn_clamp.hpp"
  444. #include "armadillo_bits/fn_expmat.hpp"
  445. #include "armadillo_bits/fn_nonzeros.hpp"
  446. #include "armadillo_bits/fn_interp1.hpp"
  447. #include "armadillo_bits/fn_interp2.hpp"
  448. #include "armadillo_bits/fn_qz.hpp"
  449. #include "armadillo_bits/fn_diff.hpp"
  450. #include "armadillo_bits/fn_hess.hpp"
  451. #include "armadillo_bits/fn_schur.hpp"
  452. #include "armadillo_bits/fn_kmeans.hpp"
  453. #include "armadillo_bits/fn_sqrtmat.hpp"
  454. #include "armadillo_bits/fn_logmat.hpp"
  455. #include "armadillo_bits/fn_trapz.hpp"
  456. #include "armadillo_bits/fn_range.hpp"
  457. #include "armadillo_bits/fn_polyfit.hpp"
  458. #include "armadillo_bits/fn_polyval.hpp"
  459. #include "armadillo_bits/fn_intersect.hpp"
  460. #include "armadillo_bits/fn_normpdf.hpp"
  461. #include "armadillo_bits/fn_log_normpdf.hpp"
  462. #include "armadillo_bits/fn_normcdf.hpp"
  463. #include "armadillo_bits/fn_mvnrnd.hpp"
  464. #include "armadillo_bits/fn_chi2rnd.hpp"
  465. #include "armadillo_bits/fn_wishrnd.hpp"
  466. #include "armadillo_bits/fn_roots.hpp"
  467. #include "armadillo_bits/fn_randperm.hpp"
  468. #include "armadillo_bits/fn_quantile.hpp"
  469. #include "armadillo_bits/fn_powmat.hpp"
  470. #include "armadillo_bits/fn_speye.hpp"
  471. #include "armadillo_bits/fn_spones.hpp"
  472. #include "armadillo_bits/fn_sprandn.hpp"
  473. #include "armadillo_bits/fn_sprandu.hpp"
  474. #include "armadillo_bits/fn_eigs_sym.hpp"
  475. #include "armadillo_bits/fn_eigs_gen.hpp"
  476. #include "armadillo_bits/fn_spsolve.hpp"
  477. #include "armadillo_bits/fn_svds.hpp"
  478. //
  479. // misc stuff
  480. #include "armadillo_bits/hdf5_misc.hpp"
  481. #include "armadillo_bits/fft_engine.hpp"
  482. #include "armadillo_bits/band_helper.hpp"
  483. #include "armadillo_bits/sympd_helper.hpp"
  484. #include "armadillo_bits/trimat_helper.hpp"
  485. //
  486. // classes implementing various forms of dense matrix multiplication
  487. #include "armadillo_bits/mul_gemv.hpp"
  488. #include "armadillo_bits/mul_gemm.hpp"
  489. #include "armadillo_bits/mul_gemm_mixed.hpp"
  490. #include "armadillo_bits/mul_syrk.hpp"
  491. #include "armadillo_bits/mul_herk.hpp"
  492. //
  493. // class meat
  494. #include "armadillo_bits/Op_meat.hpp"
  495. #include "armadillo_bits/CubeToMatOp_meat.hpp"
  496. #include "armadillo_bits/OpCube_meat.hpp"
  497. #include "armadillo_bits/SpOp_meat.hpp"
  498. #include "armadillo_bits/SpToDOp_meat.hpp"
  499. #include "armadillo_bits/mtOp_meat.hpp"
  500. #include "armadillo_bits/mtOpCube_meat.hpp"
  501. #include "armadillo_bits/mtSpOp_meat.hpp"
  502. #include "armadillo_bits/Glue_meat.hpp"
  503. #include "armadillo_bits/GlueCube_meat.hpp"
  504. #include "armadillo_bits/SpGlue_meat.hpp"
  505. #include "armadillo_bits/mtSpGlue_meat.hpp"
  506. #include "armadillo_bits/eOp_meat.hpp"
  507. #include "armadillo_bits/eOpCube_meat.hpp"
  508. #include "armadillo_bits/eGlue_meat.hpp"
  509. #include "armadillo_bits/eGlueCube_meat.hpp"
  510. #include "armadillo_bits/mtGlue_meat.hpp"
  511. #include "armadillo_bits/mtGlueCube_meat.hpp"
  512. #include "armadillo_bits/Base_meat.hpp"
  513. #include "armadillo_bits/BaseCube_meat.hpp"
  514. #include "armadillo_bits/SpBase_meat.hpp"
  515. #include "armadillo_bits/Gen_meat.hpp"
  516. #include "armadillo_bits/GenCube_meat.hpp"
  517. #include "armadillo_bits/eop_core_meat.hpp"
  518. #include "armadillo_bits/eglue_core_meat.hpp"
  519. #include "armadillo_bits/cond_rel_meat.hpp"
  520. #include "armadillo_bits/arrayops_meat.hpp"
  521. #include "armadillo_bits/podarray_meat.hpp"
  522. #include "armadillo_bits/auxlib_meat.hpp"
  523. #include "armadillo_bits/sp_auxlib_meat.hpp"
  524. #include "armadillo_bits/injector_meat.hpp"
  525. #include "armadillo_bits/Mat_meat.hpp"
  526. #include "armadillo_bits/Col_meat.hpp"
  527. #include "armadillo_bits/Row_meat.hpp"
  528. #include "armadillo_bits/Cube_meat.hpp"
  529. #include "armadillo_bits/xvec_htrans_meat.hpp"
  530. #include "armadillo_bits/xtrans_mat_meat.hpp"
  531. #include "armadillo_bits/SizeMat_meat.hpp"
  532. #include "armadillo_bits/SizeCube_meat.hpp"
  533. #include "armadillo_bits/field_meat.hpp"
  534. #include "armadillo_bits/subview_meat.hpp"
  535. #include "armadillo_bits/subview_elem1_meat.hpp"
  536. #include "armadillo_bits/subview_elem2_meat.hpp"
  537. #include "armadillo_bits/subview_field_meat.hpp"
  538. #include "armadillo_bits/subview_cube_meat.hpp"
  539. #include "armadillo_bits/diagview_meat.hpp"
  540. #include "armadillo_bits/subview_each_meat.hpp"
  541. #include "armadillo_bits/subview_cube_each_meat.hpp"
  542. #include "armadillo_bits/subview_cube_slices_meat.hpp"
  543. #include "armadillo_bits/SpValProxy_meat.hpp"
  544. #include "armadillo_bits/SpMat_meat.hpp"
  545. #include "armadillo_bits/SpMat_iterators_meat.hpp"
  546. #include "armadillo_bits/SpCol_meat.hpp"
  547. #include "armadillo_bits/SpRow_meat.hpp"
  548. #include "armadillo_bits/SpSubview_meat.hpp"
  549. #include "armadillo_bits/SpSubview_iterators_meat.hpp"
  550. #include "armadillo_bits/spdiagview_meat.hpp"
  551. #include "armadillo_bits/MapMat_meat.hpp"
  552. #include "armadillo_bits/diskio_meat.hpp"
  553. #include "armadillo_bits/wall_clock_meat.hpp"
  554. #include "armadillo_bits/running_stat_meat.hpp"
  555. #include "armadillo_bits/running_stat_vec_meat.hpp"
  556. #include "armadillo_bits/op_diagmat_meat.hpp"
  557. #include "armadillo_bits/op_diagvec_meat.hpp"
  558. #include "armadillo_bits/op_dot_meat.hpp"
  559. #include "armadillo_bits/op_inv_meat.hpp"
  560. #include "armadillo_bits/op_htrans_meat.hpp"
  561. #include "armadillo_bits/op_max_meat.hpp"
  562. #include "armadillo_bits/op_index_max_meat.hpp"
  563. #include "armadillo_bits/op_index_min_meat.hpp"
  564. #include "armadillo_bits/op_min_meat.hpp"
  565. #include "armadillo_bits/op_mean_meat.hpp"
  566. #include "armadillo_bits/op_median_meat.hpp"
  567. #include "armadillo_bits/op_sort_meat.hpp"
  568. #include "armadillo_bits/op_sort_index_meat.hpp"
  569. #include "armadillo_bits/op_sum_meat.hpp"
  570. #include "armadillo_bits/op_stddev_meat.hpp"
  571. #include "armadillo_bits/op_strans_meat.hpp"
  572. #include "armadillo_bits/op_var_meat.hpp"
  573. #include "armadillo_bits/op_repmat_meat.hpp"
  574. #include "armadillo_bits/op_repelem_meat.hpp"
  575. #include "armadillo_bits/op_reshape_meat.hpp"
  576. #include "armadillo_bits/op_vectorise_meat.hpp"
  577. #include "armadillo_bits/op_resize_meat.hpp"
  578. #include "armadillo_bits/op_cov_meat.hpp"
  579. #include "armadillo_bits/op_cor_meat.hpp"
  580. #include "armadillo_bits/op_shift_meat.hpp"
  581. #include "armadillo_bits/op_shuffle_meat.hpp"
  582. #include "armadillo_bits/op_prod_meat.hpp"
  583. #include "armadillo_bits/op_pinv_meat.hpp"
  584. #include "armadillo_bits/op_dotext_meat.hpp"
  585. #include "armadillo_bits/op_flip_meat.hpp"
  586. #include "armadillo_bits/op_reverse_meat.hpp"
  587. #include "armadillo_bits/op_princomp_meat.hpp"
  588. #include "armadillo_bits/op_misc_meat.hpp"
  589. #include "armadillo_bits/op_orth_null_meat.hpp"
  590. #include "armadillo_bits/op_relational_meat.hpp"
  591. #include "armadillo_bits/op_find_meat.hpp"
  592. #include "armadillo_bits/op_find_unique_meat.hpp"
  593. #include "armadillo_bits/op_chol_meat.hpp"
  594. #include "armadillo_bits/op_cx_scalar_meat.hpp"
  595. #include "armadillo_bits/op_trimat_meat.hpp"
  596. #include "armadillo_bits/op_cumsum_meat.hpp"
  597. #include "armadillo_bits/op_cumprod_meat.hpp"
  598. #include "armadillo_bits/op_symmat_meat.hpp"
  599. #include "armadillo_bits/op_hist_meat.hpp"
  600. #include "armadillo_bits/op_unique_meat.hpp"
  601. #include "armadillo_bits/op_toeplitz_meat.hpp"
  602. #include "armadillo_bits/op_fft_meat.hpp"
  603. #include "armadillo_bits/op_any_meat.hpp"
  604. #include "armadillo_bits/op_all_meat.hpp"
  605. #include "armadillo_bits/op_normalise_meat.hpp"
  606. #include "armadillo_bits/op_clamp_meat.hpp"
  607. #include "armadillo_bits/op_expmat_meat.hpp"
  608. #include "armadillo_bits/op_nonzeros_meat.hpp"
  609. #include "armadillo_bits/op_diff_meat.hpp"
  610. #include "armadillo_bits/op_norm_meat.hpp"
  611. #include "armadillo_bits/op_sqrtmat_meat.hpp"
  612. #include "armadillo_bits/op_logmat_meat.hpp"
  613. #include "armadillo_bits/op_range_meat.hpp"
  614. #include "armadillo_bits/op_chi2rnd_meat.hpp"
  615. #include "armadillo_bits/op_wishrnd_meat.hpp"
  616. #include "armadillo_bits/op_roots_meat.hpp"
  617. #include "armadillo_bits/op_cond_meat.hpp"
  618. #include "armadillo_bits/op_sp_plus_meat.hpp"
  619. #include "armadillo_bits/op_sp_minus_meat.hpp"
  620. #include "armadillo_bits/op_powmat_meat.hpp"
  621. #include "armadillo_bits/glue_times_meat.hpp"
  622. #include "armadillo_bits/glue_mixed_meat.hpp"
  623. #include "armadillo_bits/glue_cov_meat.hpp"
  624. #include "armadillo_bits/glue_cor_meat.hpp"
  625. #include "armadillo_bits/glue_kron_meat.hpp"
  626. #include "armadillo_bits/glue_cross_meat.hpp"
  627. #include "armadillo_bits/glue_join_meat.hpp"
  628. #include "armadillo_bits/glue_relational_meat.hpp"
  629. #include "armadillo_bits/glue_solve_meat.hpp"
  630. #include "armadillo_bits/glue_conv_meat.hpp"
  631. #include "armadillo_bits/glue_toeplitz_meat.hpp"
  632. #include "armadillo_bits/glue_hist_meat.hpp"
  633. #include "armadillo_bits/glue_histc_meat.hpp"
  634. #include "armadillo_bits/glue_max_meat.hpp"
  635. #include "armadillo_bits/glue_min_meat.hpp"
  636. #include "armadillo_bits/glue_trapz_meat.hpp"
  637. #include "armadillo_bits/glue_atan2_meat.hpp"
  638. #include "armadillo_bits/glue_hypot_meat.hpp"
  639. #include "armadillo_bits/glue_polyfit_meat.hpp"
  640. #include "armadillo_bits/glue_polyval_meat.hpp"
  641. #include "armadillo_bits/glue_intersect_meat.hpp"
  642. #include "armadillo_bits/glue_affmul_meat.hpp"
  643. #include "armadillo_bits/glue_mvnrnd_meat.hpp"
  644. #include "armadillo_bits/glue_quantile_meat.hpp"
  645. #include "armadillo_bits/gmm_misc_meat.hpp"
  646. #include "armadillo_bits/gmm_diag_meat.hpp"
  647. #include "armadillo_bits/gmm_full_meat.hpp"
  648. #include "armadillo_bits/spop_max_meat.hpp"
  649. #include "armadillo_bits/spop_min_meat.hpp"
  650. #include "armadillo_bits/spop_sum_meat.hpp"
  651. #include "armadillo_bits/spop_strans_meat.hpp"
  652. #include "armadillo_bits/spop_htrans_meat.hpp"
  653. #include "armadillo_bits/spop_misc_meat.hpp"
  654. #include "armadillo_bits/spop_diagmat_meat.hpp"
  655. #include "armadillo_bits/spop_mean_meat.hpp"
  656. #include "armadillo_bits/spop_var_meat.hpp"
  657. #include "armadillo_bits/spop_trimat_meat.hpp"
  658. #include "armadillo_bits/spop_symmat_meat.hpp"
  659. #include "armadillo_bits/spop_normalise_meat.hpp"
  660. #include "armadillo_bits/spop_reverse_meat.hpp"
  661. #include "armadillo_bits/spop_repmat_meat.hpp"
  662. #include "armadillo_bits/spop_vectorise_meat.hpp"
  663. #include "armadillo_bits/spglue_elem_helper_meat.hpp"
  664. #include "armadillo_bits/spglue_plus_meat.hpp"
  665. #include "armadillo_bits/spglue_minus_meat.hpp"
  666. #include "armadillo_bits/spglue_schur_meat.hpp"
  667. #include "armadillo_bits/spglue_times_meat.hpp"
  668. #include "armadillo_bits/spglue_join_meat.hpp"
  669. #include "armadillo_bits/spglue_kron_meat.hpp"
  670. #include "armadillo_bits/spglue_min_meat.hpp"
  671. #include "armadillo_bits/spglue_max_meat.hpp"
  672. #include "armadillo_bits/spglue_merge_meat.hpp"
  673. #include "armadillo_bits/spglue_relational_meat.hpp"
  674. #if defined(ARMA_USE_NEWARP)
  675. #include "armadillo_bits/newarp_cx_attrib.hpp"
  676. #include "armadillo_bits/newarp_SortEigenvalue.hpp"
  677. #include "armadillo_bits/newarp_DenseGenMatProd_meat.hpp"
  678. #include "armadillo_bits/newarp_SparseGenMatProd_meat.hpp"
  679. #include "armadillo_bits/newarp_DoubleShiftQR_meat.hpp"
  680. #include "armadillo_bits/newarp_GenEigsSolver_meat.hpp"
  681. #include "armadillo_bits/newarp_SymEigsSolver_meat.hpp"
  682. #include "armadillo_bits/newarp_TridiagEigen_meat.hpp"
  683. #include "armadillo_bits/newarp_UpperHessenbergEigen_meat.hpp"
  684. #include "armadillo_bits/newarp_UpperHessenbergQR_meat.hpp"
  685. #endif
  686. }
  687. #include "armadillo_bits/compiler_setup_post.hpp"
  688. #endif