boost.cxx 0.0.2 → 1.90.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/README.md +29 -2
  2. package/boost/cast.hpp +20 -0
  3. package/boost/numeric/conversion/bounds.hpp +24 -0
  4. package/boost/numeric/conversion/cast.hpp +61 -0
  5. package/boost/numeric/conversion/conversion_traits.hpp +32 -0
  6. package/boost/numeric/conversion/converter.hpp +68 -0
  7. package/boost/numeric/conversion/converter_policies.hpp +194 -0
  8. package/boost/numeric/conversion/detail/bounds.hpp +58 -0
  9. package/boost/numeric/conversion/detail/conversion_traits.hpp +97 -0
  10. package/boost/numeric/conversion/detail/converter.hpp +593 -0
  11. package/boost/numeric/conversion/detail/int_float_mixture.hpp +72 -0
  12. package/boost/numeric/conversion/detail/is_subranged.hpp +234 -0
  13. package/boost/numeric/conversion/detail/meta.hpp +120 -0
  14. package/boost/numeric/conversion/detail/numeric_cast_traits.hpp +138 -0
  15. package/boost/numeric/conversion/detail/old_numeric_cast.hpp +308 -0
  16. package/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp +1741 -0
  17. package/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp +347 -0
  18. package/boost/numeric/conversion/detail/sign_mixture.hpp +72 -0
  19. package/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +69 -0
  20. package/boost/numeric/conversion/int_float_mixture.hpp +30 -0
  21. package/boost/numeric/conversion/int_float_mixture_enum.hpp +29 -0
  22. package/boost/numeric/conversion/is_subranged.hpp +27 -0
  23. package/boost/numeric/conversion/numeric_cast_traits.hpp +31 -0
  24. package/boost/numeric/conversion/sign_mixture.hpp +30 -0
  25. package/boost/numeric/conversion/sign_mixture_enum.hpp +29 -0
  26. package/boost/numeric/conversion/udt_builtin_mixture.hpp +28 -0
  27. package/boost/numeric/conversion/udt_builtin_mixture_enum.hpp +26 -0
  28. package/boost/numeric/interval/arith.hpp +305 -0
  29. package/boost/numeric/interval/arith2.hpp +304 -0
  30. package/boost/numeric/interval/arith3.hpp +69 -0
  31. package/boost/numeric/interval/checking.hpp +130 -0
  32. package/boost/numeric/interval/compare/certain.hpp +113 -0
  33. package/boost/numeric/interval/compare/explicit.hpp +248 -0
  34. package/boost/numeric/interval/compare/lexicographic.hpp +122 -0
  35. package/boost/numeric/interval/compare/possible.hpp +113 -0
  36. package/boost/numeric/interval/compare/set.hpp +101 -0
  37. package/boost/numeric/interval/compare/tribool.hpp +138 -0
  38. package/boost/numeric/interval/compare.hpp +19 -0
  39. package/boost/numeric/interval/constants.hpp +85 -0
  40. package/boost/numeric/interval/detail/alpha_rounding_control.hpp +113 -0
  41. package/boost/numeric/interval/detail/bcc_rounding_control.hpp +57 -0
  42. package/boost/numeric/interval/detail/bugs.hpp +48 -0
  43. package/boost/numeric/interval/detail/c99_rounding_control.hpp +50 -0
  44. package/boost/numeric/interval/detail/c99sub_rounding_control.hpp +43 -0
  45. package/boost/numeric/interval/detail/division.hpp +194 -0
  46. package/boost/numeric/interval/detail/ia64_rounding_control.hpp +83 -0
  47. package/boost/numeric/interval/detail/interval_prototype.hpp +41 -0
  48. package/boost/numeric/interval/detail/msvc_rounding_control.hpp +113 -0
  49. package/boost/numeric/interval/detail/ppc_rounding_control.hpp +99 -0
  50. package/boost/numeric/interval/detail/sparc_rounding_control.hpp +112 -0
  51. package/boost/numeric/interval/detail/test_input.hpp +76 -0
  52. package/boost/numeric/interval/detail/x86_rounding_control.hpp +108 -0
  53. package/boost/numeric/interval/detail/x86gcc_rounding_control.hpp +51 -0
  54. package/boost/numeric/interval/ext/integer.hpp +70 -0
  55. package/boost/numeric/interval/ext/x86_fast_rounding_control.hpp +70 -0
  56. package/boost/numeric/interval/hw_rounding.hpp +73 -0
  57. package/boost/numeric/interval/interval.hpp +450 -0
  58. package/boost/numeric/interval/io.hpp +41 -0
  59. package/boost/numeric/interval/limits.hpp +49 -0
  60. package/boost/numeric/interval/policies.hpp +75 -0
  61. package/boost/numeric/interval/rounded_arith.hpp +120 -0
  62. package/boost/numeric/interval/rounded_transc.hpp +140 -0
  63. package/boost/numeric/interval/rounding.hpp +101 -0
  64. package/boost/numeric/interval/transc.hpp +232 -0
  65. package/boost/numeric/interval/utility.hpp +335 -0
  66. package/boost/numeric/interval/utility_fwd.hpp +172 -0
  67. package/boost/numeric/interval.hpp +32 -0
  68. package/boost/numeric/odeint/algebra/algebra_dispatcher.hpp +86 -0
  69. package/boost/numeric/odeint/algebra/array_algebra.hpp +293 -0
  70. package/boost/numeric/odeint/algebra/default_operations.hpp +599 -0
  71. package/boost/numeric/odeint/algebra/detail/extract_value_type.hpp +51 -0
  72. package/boost/numeric/odeint/algebra/detail/for_each.hpp +165 -0
  73. package/boost/numeric/odeint/algebra/detail/macros.hpp +35 -0
  74. package/boost/numeric/odeint/algebra/detail/norm_inf.hpp +46 -0
  75. package/boost/numeric/odeint/algebra/fusion_algebra.hpp +216 -0
  76. package/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp +48 -0
  77. package/boost/numeric/odeint/algebra/multi_array_algebra.hpp +146 -0
  78. package/boost/numeric/odeint/algebra/norm_result_type.hpp +33 -0
  79. package/boost/numeric/odeint/algebra/operations_dispatcher.hpp +41 -0
  80. package/boost/numeric/odeint/algebra/range_algebra.hpp +142 -0
  81. package/boost/numeric/odeint/algebra/vector_space_algebra.hpp +175 -0
  82. package/boost/numeric/odeint/config.hpp +53 -0
  83. package/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp +55 -0
  84. package/boost/numeric/odeint/external/blaze/blaze_resize.hpp +64 -0
  85. package/boost/numeric/odeint/external/compute/compute.hpp +27 -0
  86. package/boost/numeric/odeint/external/compute/compute_algebra.hpp +65 -0
  87. package/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp +41 -0
  88. package/boost/numeric/odeint/external/compute/compute_operations.hpp +198 -0
  89. package/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp +44 -0
  90. package/boost/numeric/odeint/external/compute/compute_resize.hpp +92 -0
  91. package/boost/numeric/odeint/external/eigen/eigen.hpp +27 -0
  92. package/boost/numeric/odeint/external/eigen/eigen_algebra.hpp +98 -0
  93. package/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp +49 -0
  94. package/boost/numeric/odeint/external/eigen/eigen_resize.hpp +103 -0
  95. package/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp +228 -0
  96. package/boost/numeric/odeint/external/mkl/mkl_operations.hpp +181 -0
  97. package/boost/numeric/odeint/external/mpi/mpi.hpp +25 -0
  98. package/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp +62 -0
  99. package/boost/numeric/odeint/external/mpi/mpi_state.hpp +113 -0
  100. package/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp +95 -0
  101. package/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp +161 -0
  102. package/boost/numeric/odeint/external/mtl4/mtl4.hpp +23 -0
  103. package/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp +99 -0
  104. package/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp +134 -0
  105. package/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp +25 -0
  106. package/boost/numeric/odeint/external/nt2/nt2_copy.hpp +33 -0
  107. package/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp +31 -0
  108. package/boost/numeric/odeint/external/nt2/nt2_resize.hpp +54 -0
  109. package/boost/numeric/odeint/external/openmp/openmp.hpp +31 -0
  110. package/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp +281 -0
  111. package/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp +276 -0
  112. package/boost/numeric/odeint/external/openmp/openmp_state.hpp +172 -0
  113. package/boost/numeric/odeint/external/thrust/thrust.hpp +27 -0
  114. package/boost/numeric/odeint/external/thrust/thrust_algebra.hpp +217 -0
  115. package/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp +118 -0
  116. package/boost/numeric/odeint/external/thrust/thrust_operations.hpp +233 -0
  117. package/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp +118 -0
  118. package/boost/numeric/odeint/external/thrust/thrust_resize.hpp +197 -0
  119. package/boost/numeric/odeint/external/vexcl/vexcl.hpp +28 -0
  120. package/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp +61 -0
  121. package/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp +51 -0
  122. package/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp +55 -0
  123. package/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp +68 -0
  124. package/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp +96 -0
  125. package/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp +58 -0
  126. package/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp +226 -0
  127. package/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp +68 -0
  128. package/boost/numeric/odeint/integrate/check_adapter.hpp +222 -0
  129. package/boost/numeric/odeint/integrate/detail/functors.hpp +70 -0
  130. package/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp +161 -0
  131. package/boost/numeric/odeint/integrate/detail/integrate_const.hpp +167 -0
  132. package/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp +161 -0
  133. package/boost/numeric/odeint/integrate/detail/integrate_times.hpp +179 -0
  134. package/boost/numeric/odeint/integrate/integrate.hpp +133 -0
  135. package/boost/numeric/odeint/integrate/integrate_adaptive.hpp +127 -0
  136. package/boost/numeric/odeint/integrate/integrate_const.hpp +195 -0
  137. package/boost/numeric/odeint/integrate/integrate_n_steps.hpp +178 -0
  138. package/boost/numeric/odeint/integrate/integrate_times.hpp +220 -0
  139. package/boost/numeric/odeint/integrate/max_step_checker.hpp +114 -0
  140. package/boost/numeric/odeint/integrate/null_observer.hpp +38 -0
  141. package/boost/numeric/odeint/integrate/observer_collection.hpp +55 -0
  142. package/boost/numeric/odeint/iterator/adaptive_iterator.hpp +183 -0
  143. package/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp +175 -0
  144. package/boost/numeric/odeint/iterator/const_step_iterator.hpp +180 -0
  145. package/boost/numeric/odeint/iterator/const_step_time_iterator.hpp +173 -0
  146. package/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp +199 -0
  147. package/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp +251 -0
  148. package/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp +228 -0
  149. package/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp +239 -0
  150. package/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp +369 -0
  151. package/boost/numeric/odeint/iterator/integrate/detail/functors.hpp +70 -0
  152. package/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp +121 -0
  153. package/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp +111 -0
  154. package/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp +107 -0
  155. package/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp +67 -0
  156. package/boost/numeric/odeint/iterator/integrate/integrate.hpp +111 -0
  157. package/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp +127 -0
  158. package/boost/numeric/odeint/iterator/integrate/integrate_const.hpp +158 -0
  159. package/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp +123 -0
  160. package/boost/numeric/odeint/iterator/integrate/integrate_times.hpp +131 -0
  161. package/boost/numeric/odeint/iterator/integrate/null_observer.hpp +38 -0
  162. package/boost/numeric/odeint/iterator/integrate/observer_collection.hpp +55 -0
  163. package/boost/numeric/odeint/iterator/n_step_iterator.hpp +168 -0
  164. package/boost/numeric/odeint/iterator/n_step_time_iterator.hpp +169 -0
  165. package/boost/numeric/odeint/iterator/times_iterator.hpp +189 -0
  166. package/boost/numeric/odeint/iterator/times_time_iterator.hpp +193 -0
  167. package/boost/numeric/odeint/stepper/adams_bashforth.hpp +418 -0
  168. package/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp +313 -0
  169. package/boost/numeric/odeint/stepper/adams_moulton.hpp +201 -0
  170. package/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp +237 -0
  171. package/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp +91 -0
  172. package/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp +588 -0
  173. package/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp +677 -0
  174. package/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp +415 -0
  175. package/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp +431 -0
  176. package/boost/numeric/odeint/stepper/bulirsch_stoer.hpp +642 -0
  177. package/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp +838 -0
  178. package/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp +322 -0
  179. package/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp +1018 -0
  180. package/boost/numeric/odeint/stepper/controlled_step_result.hpp +42 -0
  181. package/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp +476 -0
  182. package/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp +148 -0
  183. package/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp +168 -0
  184. package/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp +148 -0
  185. package/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp +168 -0
  186. package/boost/numeric/odeint/stepper/detail/adaptive_adams_coefficients.hpp +207 -0
  187. package/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp +247 -0
  188. package/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp +263 -0
  189. package/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp +252 -0
  190. package/boost/numeric/odeint/stepper/detail/pid_step_adjuster.hpp +199 -0
  191. package/boost/numeric/odeint/stepper/detail/pid_step_adjuster_coefficients.hpp +180 -0
  192. package/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp +84 -0
  193. package/boost/numeric/odeint/stepper/euler.hpp +166 -0
  194. package/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp +255 -0
  195. package/boost/numeric/odeint/stepper/explicit_generic_rk.hpp +246 -0
  196. package/boost/numeric/odeint/stepper/extrapolation_stepper.hpp +288 -0
  197. package/boost/numeric/odeint/stepper/generation/generation_controlled_adams_bashforth_moulton.hpp +59 -0
  198. package/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp +61 -0
  199. package/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp +65 -0
  200. package/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp +79 -0
  201. package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp +47 -0
  202. package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp +48 -0
  203. package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp +56 -0
  204. package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp +46 -0
  205. package/boost/numeric/odeint/stepper/generation/make_controlled.hpp +103 -0
  206. package/boost/numeric/odeint/stepper/generation/make_dense_output.hpp +100 -0
  207. package/boost/numeric/odeint/stepper/generation.hpp +37 -0
  208. package/boost/numeric/odeint/stepper/implicit_euler.hpp +170 -0
  209. package/boost/numeric/odeint/stepper/modified_midpoint.hpp +315 -0
  210. package/boost/numeric/odeint/stepper/rosenbrock4.hpp +346 -0
  211. package/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp +240 -0
  212. package/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp +204 -0
  213. package/boost/numeric/odeint/stepper/runge_kutta4.hpp +181 -0
  214. package/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp +232 -0
  215. package/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp +231 -0
  216. package/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp +289 -0
  217. package/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp +403 -0
  218. package/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp +374 -0
  219. package/boost/numeric/odeint/stepper/stepper_categories.hpp +66 -0
  220. package/boost/numeric/odeint/stepper/symplectic_euler.hpp +136 -0
  221. package/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp +160 -0
  222. package/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp +162 -0
  223. package/boost/numeric/odeint/stepper/velocity_verlet.hpp +375 -0
  224. package/boost/numeric/odeint/tools/assert.hpp +30 -0
  225. package/boost/numeric/odeint/tools/is_standalone.hpp +21 -0
  226. package/boost/numeric/odeint/tools/traits.hpp +39 -0
  227. package/boost/numeric/odeint/util/bind.hpp +35 -0
  228. package/boost/numeric/odeint/util/copy.hpp +88 -0
  229. package/boost/numeric/odeint/util/detail/is_range.hpp +127 -0
  230. package/boost/numeric/odeint/util/detail/less_with_sign.hpp +78 -0
  231. package/boost/numeric/odeint/util/is_pair.hpp +42 -0
  232. package/boost/numeric/odeint/util/is_resizeable.hpp +84 -0
  233. package/boost/numeric/odeint/util/multi_array_adaption.hpp +131 -0
  234. package/boost/numeric/odeint/util/n_ary_helper.hpp +96 -0
  235. package/boost/numeric/odeint/util/odeint_error.hpp +77 -0
  236. package/boost/numeric/odeint/util/resize.hpp +120 -0
  237. package/boost/numeric/odeint/util/resizer.hpp +94 -0
  238. package/boost/numeric/odeint/util/same_instance.hpp +56 -0
  239. package/boost/numeric/odeint/util/same_size.hpp +117 -0
  240. package/boost/numeric/odeint/util/split.hpp +64 -0
  241. package/boost/numeric/odeint/util/split_adaptor.hpp +103 -0
  242. package/boost/numeric/odeint/util/state_wrapper.hpp +50 -0
  243. package/boost/numeric/odeint/util/stepper_traits.hpp +63 -0
  244. package/boost/numeric/odeint/util/ublas_matrix_expression.patch +6 -0
  245. package/boost/numeric/odeint/util/ublas_wrapper.hpp +297 -0
  246. package/boost/numeric/odeint/util/unit_helper.hpp +151 -0
  247. package/boost/numeric/odeint/util/unwrap_reference.hpp +141 -0
  248. package/boost/numeric/odeint/version.hpp +55 -0
  249. package/boost/numeric/odeint.hpp +87 -0
  250. package/boost/numeric/ublas/assignment.hpp +1288 -0
  251. package/boost/numeric/ublas/banded.hpp +2372 -0
  252. package/boost/numeric/ublas/blas.hpp +499 -0
  253. package/boost/numeric/ublas/detail/concepts.hpp +1465 -0
  254. package/boost/numeric/ublas/detail/config.hpp +304 -0
  255. package/boost/numeric/ublas/detail/definitions.hpp +212 -0
  256. package/boost/numeric/ublas/detail/documentation.hpp +33 -0
  257. package/boost/numeric/ublas/detail/duff.hpp +56 -0
  258. package/boost/numeric/ublas/detail/iterator.hpp +1448 -0
  259. package/boost/numeric/ublas/detail/matrix_assign.hpp +1785 -0
  260. package/boost/numeric/ublas/detail/raw.hpp +878 -0
  261. package/boost/numeric/ublas/detail/returntype_deduction.hpp +174 -0
  262. package/boost/numeric/ublas/detail/temporary.hpp +33 -0
  263. package/boost/numeric/ublas/detail/vector_assign.hpp +609 -0
  264. package/boost/numeric/ublas/doxydoc.hpp +58 -0
  265. package/boost/numeric/ublas/exception.hpp +297 -0
  266. package/boost/numeric/ublas/experimental/sparse_view.hpp +317 -0
  267. package/boost/numeric/ublas/expression_types.hpp +506 -0
  268. package/boost/numeric/ublas/functional.hpp +2112 -0
  269. package/boost/numeric/ublas/fwd.hpp +229 -0
  270. package/boost/numeric/ublas/hermitian.hpp +2633 -0
  271. package/boost/numeric/ublas/io.hpp +355 -0
  272. package/boost/numeric/ublas/lu.hpp +350 -0
  273. package/boost/numeric/ublas/matrix.hpp +6013 -0
  274. package/boost/numeric/ublas/matrix_expression.hpp +5693 -0
  275. package/boost/numeric/ublas/matrix_proxy.hpp +5457 -0
  276. package/boost/numeric/ublas/matrix_sparse.hpp +5773 -0
  277. package/boost/numeric/ublas/matrix_vector.hpp +406 -0
  278. package/boost/numeric/ublas/opencl/elementwise.hpp +508 -0
  279. package/boost/numeric/ublas/opencl/library.hpp +38 -0
  280. package/boost/numeric/ublas/opencl/matrix.hpp +123 -0
  281. package/boost/numeric/ublas/opencl/misc.hpp +182 -0
  282. package/boost/numeric/ublas/opencl/operations.hpp +18 -0
  283. package/boost/numeric/ublas/opencl/prod.hpp +364 -0
  284. package/boost/numeric/ublas/opencl/transpose.hpp +142 -0
  285. package/boost/numeric/ublas/opencl/vector.hpp +90 -0
  286. package/boost/numeric/ublas/opencl.hpp +16 -0
  287. package/boost/numeric/ublas/operation/begin.hpp +318 -0
  288. package/boost/numeric/ublas/operation/c_array.hpp +41 -0
  289. package/boost/numeric/ublas/operation/end.hpp +318 -0
  290. package/boost/numeric/ublas/operation/num_columns.hpp +45 -0
  291. package/boost/numeric/ublas/operation/num_rows.hpp +44 -0
  292. package/boost/numeric/ublas/operation/size.hpp +350 -0
  293. package/boost/numeric/ublas/operation.hpp +830 -0
  294. package/boost/numeric/ublas/operation_blocked.hpp +266 -0
  295. package/boost/numeric/ublas/operation_sparse.hpp +198 -0
  296. package/boost/numeric/ublas/operations.hpp +26 -0
  297. package/boost/numeric/ublas/storage.hpp +2131 -0
  298. package/boost/numeric/ublas/storage_sparse.hpp +578 -0
  299. package/boost/numeric/ublas/symmetric.hpp +2309 -0
  300. package/boost/numeric/ublas/tags.hpp +37 -0
  301. package/boost/numeric/ublas/tensor/algorithms.hpp +345 -0
  302. package/boost/numeric/ublas/tensor/expression.hpp +181 -0
  303. package/boost/numeric/ublas/tensor/expression_evaluation.hpp +288 -0
  304. package/boost/numeric/ublas/tensor/extents.hpp +335 -0
  305. package/boost/numeric/ublas/tensor/functions.hpp +558 -0
  306. package/boost/numeric/ublas/tensor/index.hpp +89 -0
  307. package/boost/numeric/ublas/tensor/multi_index.hpp +110 -0
  308. package/boost/numeric/ublas/tensor/multi_index_utility.hpp +364 -0
  309. package/boost/numeric/ublas/tensor/multiplication.hpp +945 -0
  310. package/boost/numeric/ublas/tensor/operators_arithmetic.hpp +244 -0
  311. package/boost/numeric/ublas/tensor/operators_comparison.hpp +175 -0
  312. package/boost/numeric/ublas/tensor/ostream.hpp +122 -0
  313. package/boost/numeric/ublas/tensor/storage_traits.hpp +84 -0
  314. package/boost/numeric/ublas/tensor/strides.hpp +251 -0
  315. package/boost/numeric/ublas/tensor/tensor.hpp +734 -0
  316. package/boost/numeric/ublas/tensor.hpp +26 -0
  317. package/boost/numeric/ublas/traits/c_array.hpp +110 -0
  318. package/boost/numeric/ublas/traits/const_iterator_type.hpp +127 -0
  319. package/boost/numeric/ublas/traits/iterator_type.hpp +126 -0
  320. package/boost/numeric/ublas/traits.hpp +753 -0
  321. package/boost/numeric/ublas/triangular.hpp +2775 -0
  322. package/boost/numeric/ublas/vector.hpp +2947 -0
  323. package/boost/numeric/ublas/vector_expression.hpp +1762 -0
  324. package/boost/numeric/ublas/vector_of_vector.hpp +1347 -0
  325. package/boost/numeric/ublas/vector_proxy.hpp +1697 -0
  326. package/boost/numeric/ublas/vector_sparse.hpp +2246 -0
  327. package/package.json +3 -7
@@ -0,0 +1,26 @@
1
+ // Copyright (c) 2018-2019
2
+ // Cem Bassoy
3
+ //
4
+ // Distributed under the Boost Software License, Version 1.0. (See
5
+ // accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+ //
8
+ // The authors gratefully acknowledge the support of
9
+ // Fraunhofer and Google in producing this work
10
+ // which started as a Google Summer of Code project.
11
+ //
12
+
13
+ /// \file tensor.hpp Definition for the class vector and its derivative
14
+
15
+ #ifndef BOOST_NUMERIC_UBLAS_TENSOR_HPP
16
+ #define BOOST_NUMERIC_UBLAS_TENSOR_HPP
17
+
18
+ #include "tensor/functions.hpp"
19
+ #include "tensor/operators_arithmetic.hpp"
20
+ #include "tensor/operators_comparison.hpp"
21
+ #include "tensor/extents.hpp"
22
+ #include "tensor/strides.hpp"
23
+ #include "tensor/ostream.hpp"
24
+ #include "tensor/tensor.hpp"
25
+
26
+ #endif // BOOST_NUMERIC_UBLAS_TENSOR_HPP
@@ -0,0 +1,110 @@
1
+ /**
2
+ * -*- c++ -*-
3
+ *
4
+ * \file c_array.hpp
5
+ *
6
+ * \brief provides specializations of matrix and vector traits for c arrays and c matrices.
7
+ *
8
+ * Copyright (c) 2009, Gunter Winkler
9
+ *
10
+ * Distributed under the Boost Software License, Version 1.0. (See
11
+ * accompanying file LICENSE_1_0.txt or copy at
12
+ * http://www.boost.org/LICENSE_1_0.txt)
13
+ *
14
+ * \author Gunter Winkler (guwi17 at gmx dot de)
15
+ */
16
+
17
+ #ifndef BOOST_NUMERIC_UBLAS_TRAITS_C_ARRAY_HPP
18
+ #define BOOST_NUMERIC_UBLAS_TRAITS_C_ARRAY_HPP
19
+
20
+
21
+ #include <boost/numeric/ublas/traits.hpp>
22
+ #include <boost/numeric/ublas/traits/const_iterator_type.hpp>
23
+ #include <boost/numeric/ublas/traits/iterator_type.hpp>
24
+
25
+ namespace boost { namespace numeric { namespace ublas {
26
+
27
+ namespace detail {
28
+
29
+
30
+
31
+ }
32
+
33
+
34
+ template < class T, int M, int N >
35
+ struct matrix_view_traits < T[M][N] > {
36
+ typedef T matrix_type[M][N];
37
+
38
+ typedef std::size_t size_type;
39
+ typedef std::ptrdiff_t difference_type;
40
+
41
+ typedef row_major_tag orientation_category;
42
+ typedef dense_tag storage_category;
43
+
44
+ typedef T value_type;
45
+ typedef const T &const_reference;
46
+ typedef const T *const_pointer;
47
+
48
+ typedef const matrix_reference<const matrix_type> const_closure_type;
49
+
50
+ typedef T row_type[N];
51
+
52
+ typedef const row_type *const_iterator1;
53
+ typedef const_pointer const_iterator2;
54
+
55
+ };
56
+
57
+ template < class T, int M, int N >
58
+ struct mutable_matrix_traits < T[M][N] > {
59
+ typedef T matrix_type[M][N];
60
+
61
+ typedef T *reference;
62
+
63
+ typedef matrix_reference<matrix_type> closure_type;
64
+
65
+ };
66
+
67
+ template < class T, int N >
68
+ struct vector_view_traits < T[N] > {
69
+ typedef T vector_type[N];
70
+
71
+ typedef std::size_t size_type;
72
+ typedef std::ptrdiff_t difference_type;
73
+
74
+ typedef dense_tag storage_category;
75
+
76
+ typedef T value_type;
77
+ typedef const T &const_reference;
78
+ typedef const T *const_pointer;
79
+
80
+ typedef const vector_reference<const vector_type> const_closure_type;
81
+
82
+ typedef const_pointer const_iterator;
83
+
84
+ /// iterator pointing to the first element
85
+ static
86
+ const_iterator begin(const vector_type & v) {
87
+ return & (v[0]);
88
+ }
89
+ /// iterator pointing behind the last element
90
+ static
91
+ const_iterator end(const vector_type & v) {
92
+ return & (v[N]);
93
+ }
94
+ };
95
+
96
+ template < class T, int N >
97
+ struct mutable_vector_traits < T[N] > {
98
+
99
+ typedef T &reference;
100
+ typedef T *pointer;
101
+ typedef vector_reference< T[N] > closure_type;
102
+
103
+ };
104
+
105
+
106
+
107
+
108
+ }}} // Namespace boost::numeric::ublas
109
+
110
+ #endif
@@ -0,0 +1,127 @@
1
+ /**
2
+ * -*- c++ -*-
3
+ *
4
+ * \file const_iterator_type.hpp
5
+ *
6
+ * \brief Const iterator to a given container type.
7
+ *
8
+ * Copyright (c) 2009, Marco Guazzone
9
+ *
10
+ * Distributed under the Boost Software License, Version 1.0. (See
11
+ * accompanying file LICENSE_1_0.txt or copy at
12
+ * http://www.boost.org/LICENSE_1_0.txt)
13
+ *
14
+ * \author Marco Guazzone, marco.guazzone@gmail.com
15
+ */
16
+
17
+
18
+ #ifndef BOOST_NUMERIC_UBLAS_TRAITS_CONST_ITERATOR_TYPE_HPP
19
+ #define BOOST_NUMERIC_UBLAS_TRAITS_CONST_ITERATOR_TYPE_HPP
20
+
21
+
22
+ #include <boost/numeric/ublas/fwd.hpp>
23
+ #include <boost/numeric/ublas/tags.hpp>
24
+ #include <boost/numeric/ublas/traits.hpp>
25
+
26
+
27
+ namespace boost { namespace numeric { namespace ublas {
28
+
29
+ namespace detail {
30
+
31
+ /**
32
+ * \brief Auxiliary class for retrieving the const iterator to the given
33
+ * matrix expression according its orientation and to the given dimension tag.
34
+ * \tparam MatrixT A model of MatrixExpression.
35
+ * \tparam TagT A dimension tag type (e.g., tag::major).
36
+ * \tparam OrientationT An orientation category type (e.g., row_major_tag).
37
+ */
38
+ template <typename MatrixT, typename TagT, typename OrientationT>
39
+ struct const_iterator_type_impl;
40
+
41
+
42
+ /// \brief Specialization of \c const_iterator_type_impl for row-major oriented
43
+ /// matrices and over the major dimension.
44
+ template <typename MatrixT>
45
+ struct const_iterator_type_impl<MatrixT,tag::major,row_major_tag>
46
+ {
47
+ typedef typename matrix_view_traits<MatrixT>::const_iterator1 type;
48
+ };
49
+
50
+
51
+ /// \brief Specialization of \c const_iterator_type_impl for column-major
52
+ /// oriented matrices and over the major dimension.
53
+ template <typename MatrixT>
54
+ struct const_iterator_type_impl<MatrixT,tag::major,column_major_tag>
55
+ {
56
+ typedef typename matrix_view_traits<MatrixT>::const_iterator2 type;
57
+ };
58
+
59
+
60
+ /// \brief Specialization of \c const_iterator_type_impl for row-major oriented
61
+ /// matrices and over the minor dimension.
62
+ template <typename MatrixT>
63
+ struct const_iterator_type_impl<MatrixT,tag::minor,row_major_tag>
64
+ {
65
+ typedef typename matrix_view_traits<MatrixT>::const_iterator2 type;
66
+ };
67
+
68
+
69
+ /// \brief Specialization of \c const_iterator_type_impl for column-major
70
+ /// oriented matrices and over the minor dimension.
71
+ template <typename MatrixT>
72
+ struct const_iterator_type_impl<MatrixT,tag::minor,column_major_tag>
73
+ {
74
+ typedef typename matrix_view_traits<MatrixT>::const_iterator1 type;
75
+ };
76
+
77
+ } // Namespace detail
78
+
79
+
80
+ /**
81
+ * \brief A const iterator for the given container type over the given
82
+ * dimension.
83
+ * \tparam ContainerT A container expression type.
84
+ * \tparam TagT A dimension tag type (e.g., tag::major).
85
+ */
86
+ template <typename ContainerT, typename TagT=void>
87
+ struct const_iterator_type;
88
+
89
+
90
+ /**
91
+ * \brief Specialization of \c const_iterator_type for vector expressions.
92
+ * \tparam VectorT A model of VectorExpression type.
93
+ */
94
+ template <typename VectorT>
95
+ struct const_iterator_type<VectorT, void>
96
+ {
97
+ typedef typename vector_view_traits<VectorT>::const_iterator type;
98
+ };
99
+
100
+
101
+ /**
102
+ * \brief Specialization of \c const_iterator_type for matrix expressions and
103
+ * over the major dimension.
104
+ * \tparam MatrixT A model of MatrixExpression type.
105
+ */
106
+ template <typename MatrixT>
107
+ struct const_iterator_type<MatrixT,tag::major>
108
+ {
109
+ typedef typename detail::const_iterator_type_impl<MatrixT,tag::minor,typename matrix_view_traits<MatrixT>::orientation_category>::type type;
110
+ };
111
+
112
+
113
+ /**
114
+ * \brief Specialization of \c const_iterator_type for matrix expressions and
115
+ * over the minor dimension.
116
+ * \tparam MatrixT A model of MatrixExpression type.
117
+ */
118
+ template <typename MatrixT>
119
+ struct const_iterator_type<MatrixT,tag::minor>
120
+ {
121
+ typedef typename detail::const_iterator_type_impl<MatrixT,tag::minor,typename matrix_view_traits<MatrixT>::orientation_category>::type type;
122
+ };
123
+
124
+ }}} // Namespace boost::numeric::ublas
125
+
126
+
127
+ #endif // BOOST_NUMERIC_UBLAS_TRAITS_CONST_ITERATOR_TYPE_HPP
@@ -0,0 +1,126 @@
1
+ /**
2
+ * -*- c++ -*-
3
+ *
4
+ * \file iterator_type.hpp
5
+ *
6
+ * \brief Iterator to a given container type.
7
+ *
8
+ * Copyright (c) 2009, Marco Guazzone
9
+ *
10
+ * Distributed under the Boost Software License, Version 1.0. (See
11
+ * accompanying file LICENSE_1_0.txt or copy at
12
+ * http://www.boost.org/LICENSE_1_0.txt)
13
+ *
14
+ * \author Marco Guazzone, marco.guazzone@gmail.com
15
+ */
16
+
17
+
18
+ #ifndef BOOST_NUMERIC_UBLAS_TRAITS_ITERATOR_TYPE_HPP
19
+ #define BOOST_NUMERIC_UBLAS_TRAITS_ITERATOR_TYPE_HPP
20
+
21
+
22
+ #include <boost/numeric/ublas/fwd.hpp>
23
+ #include <boost/numeric/ublas/traits.hpp>
24
+ #include <boost/numeric/ublas/tags.hpp>
25
+
26
+
27
+ namespace boost { namespace numeric { namespace ublas {
28
+
29
+ namespace detail {
30
+
31
+ /**
32
+ * \brief Auxiliary class for retrieving the iterator to the given
33
+ * matrix expression according its orientation and to the given dimension tag.
34
+ * \tparam MatrixT A model of MatrixExpression.
35
+ * \tparam TagT A dimension tag type (e.g., tag::major).
36
+ * \tparam OrientationT An orientation category type (e.g., row_major_tag).
37
+ */
38
+ template <typename MatrixT, typename TagT, typename OrientationT>
39
+ struct iterator_type_impl;
40
+
41
+
42
+ /// \brief Specialization of \c iterator_type_impl for row-major oriented
43
+ /// matrices and over the major dimension.
44
+ template <typename MatrixT>
45
+ struct iterator_type_impl<MatrixT,tag::major,row_major_tag>
46
+ {
47
+ typedef typename matrix_traits<MatrixT>::iterator1 type;
48
+ };
49
+
50
+
51
+ /// \brief Specialization of \c iterator_type_impl for column-major oriented
52
+ /// matrices and over the major dimension.
53
+ template <typename MatrixT>
54
+ struct iterator_type_impl<MatrixT,tag::major,column_major_tag>
55
+ {
56
+ typedef typename matrix_traits<MatrixT>::iterator2 type;
57
+ };
58
+
59
+
60
+ /// \brief Specialization of \c iterator_type_impl for row-major oriented
61
+ /// matrices and over the minor dimension.
62
+ template <typename MatrixT>
63
+ struct iterator_type_impl<MatrixT,tag::minor,row_major_tag>
64
+ {
65
+ typedef typename matrix_traits<MatrixT>::iterator2 type;
66
+ };
67
+
68
+
69
+ /// \brief Specialization of \c iterator_type_impl for column-major oriented
70
+ /// matrices and over the minor dimension.
71
+ template <typename MatrixT>
72
+ struct iterator_type_impl<MatrixT,tag::minor,column_major_tag>
73
+ {
74
+ typedef typename matrix_traits<MatrixT>::iterator1 type;
75
+ };
76
+
77
+ } // Namespace detail
78
+
79
+
80
+ /**
81
+ * \brief A iterator for the given container type over the given dimension.
82
+ * \tparam ContainerT A container expression type.
83
+ * \tparam TagT A dimension tag type (e.g., tag::major).
84
+ */
85
+ template <typename ContainerT, typename TagT=void>
86
+ struct iterator_type;
87
+
88
+
89
+ /**
90
+ * \brief Specialization of \c iterator_type for vector expressions.
91
+ * \tparam VectorT A model of VectorExpression type.
92
+ */
93
+ template <typename VectorT>
94
+ struct iterator_type<VectorT, void>
95
+ {
96
+ typedef typename vector_traits<VectorT>::iterator type;
97
+ };
98
+
99
+
100
+ /**
101
+ * \brief Specialization of \c iterator_type for matrix expressions and
102
+ * over the major dimension.
103
+ * \tparam MatrixT A model of MatrixExpression type.
104
+ */
105
+ template <typename MatrixT>
106
+ struct iterator_type<MatrixT,tag::major>
107
+ {
108
+ typedef typename detail::iterator_type_impl<MatrixT,tag::major,typename matrix_traits<MatrixT>::orientation_category>::type type;
109
+ };
110
+
111
+
112
+ /**
113
+ * \brief Specialization of \c iterator_type for matrix expressions and
114
+ * over the minor dimension.
115
+ * \tparam MatrixT A model of MatrixExpression type.
116
+ */
117
+ template <typename MatrixT>
118
+ struct iterator_type<MatrixT,tag::minor>
119
+ {
120
+ typedef typename detail::iterator_type_impl<MatrixT,tag::minor,typename matrix_traits<MatrixT>::orientation_category>::type type;
121
+ };
122
+
123
+ }}} // Namespace boost::numeric::ublas
124
+
125
+
126
+ #endif // BOOST_NUMERIC_UBLAS_TRAITS_ITERATOR_TYPE_HPP