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,308 @@
1
+ // boost cast.hpp header file ----------------------------------------------//
2
+
3
+ // (C) Copyright Kevlin Henney and Dave Abrahams 1999.
4
+ // Distributed under the Boost
5
+ // Software License, Version 1.0. (See accompanying file
6
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // See http://www.boost.org/libs/conversion for Documentation.
9
+
10
+ // Revision History
11
+ // 02 Jun 14 Remove VC6 workarounds.
12
+ // 16 Jul 11 Bugfixes for VC6.
13
+ // 23 JUN 05 Code extracted from /boost/cast.hpp into this new header.
14
+ // Keeps this legacy version of numeric_cast<> for old compilers
15
+ // wich can't compile the new version in /boost/numeric/conversion/cast.hpp
16
+ // (Fernando Cacciola)
17
+ // 02 Apr 01 Removed BOOST_NO_LIMITS workarounds and included
18
+ // <boost/limits.hpp> instead (the workaround did not
19
+ // actually compile when BOOST_NO_LIMITS was defined in
20
+ // any case, so we loose nothing). (John Maddock)
21
+ // 21 Jan 01 Undid a bug I introduced yesterday. numeric_cast<> never
22
+ // worked with stock GCC; trying to get it to do that broke
23
+ // vc-stlport.
24
+ // 20 Jan 01 Moved BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp.
25
+ // Removed unused BOOST_EXPLICIT_TARGET macro. Moved
26
+ // boost::detail::type to boost/type.hpp. Made it compile with
27
+ // stock gcc again (Dave Abrahams)
28
+ // 29 Nov 00 Remove nested namespace cast, cleanup spacing before Formal
29
+ // Review (Beman Dawes)
30
+ // 19 Oct 00 Fix numeric_cast for floating-point types (Dave Abrahams)
31
+ // 15 Jul 00 Suppress numeric_cast warnings for GCC, Borland and MSVC
32
+ // (Dave Abrahams)
33
+ // 30 Jun 00 More MSVC6 wordarounds. See comments below. (Dave Abrahams)
34
+ // 28 Jun 00 Removed implicit_cast<>. See comment below. (Beman Dawes)
35
+ // 27 Jun 00 More MSVC6 workarounds
36
+ // 15 Jun 00 Add workarounds for MSVC6
37
+ // 2 Feb 00 Remove bad_numeric_cast ";" syntax error (Doncho Angelov)
38
+ // 26 Jan 00 Add missing throw() to bad_numeric_cast::what(0 (Adam Levar)
39
+ // 29 Dec 99 Change using declarations so usages in other namespaces work
40
+ // correctly (Dave Abrahams)
41
+ // 23 Sep 99 Change polymorphic_downcast assert to also detect M.I. errors
42
+ // as suggested Darin Adler and improved by Valentin Bonnard.
43
+ // 2 Sep 99 Remove controversial asserts, simplify, rename.
44
+ // 30 Aug 99 Move to cast.hpp, replace value_cast with numeric_cast,
45
+ // place in nested namespace.
46
+ // 3 Aug 99 Initial version
47
+
48
+ #ifndef BOOST_OLD_NUMERIC_CAST_HPP
49
+ #define BOOST_OLD_NUMERIC_CAST_HPP
50
+
51
+ # include <boost/config.hpp>
52
+ # include <cassert>
53
+ # include <typeinfo>
54
+ # include <boost/type.hpp>
55
+ # include <boost/limits.hpp>
56
+ # include <boost/numeric/conversion/converter_policies.hpp>
57
+
58
+ namespace boost
59
+ {
60
+ using numeric::bad_numeric_cast;
61
+
62
+ // LEGACY numeric_cast [only for some old broken compilers] --------------------------------------//
63
+
64
+ // Contributed by Kevlin Henney
65
+
66
+ // numeric_cast ------------------------------------------------------------//
67
+
68
+ #if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_SGI_CPP_LIMITS)
69
+
70
+ namespace detail
71
+ {
72
+ template <class T>
73
+ struct signed_numeric_limits : std::numeric_limits<T>
74
+ {
75
+ static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
76
+ {
77
+ return (std::numeric_limits<T>::min)() >= 0
78
+ // unary minus causes integral promotion, thus the static_cast<>
79
+ ? static_cast<T>(-(std::numeric_limits<T>::max)())
80
+ : (std::numeric_limits<T>::min)();
81
+ };
82
+ };
83
+
84
+ // Move to namespace boost in utility.hpp?
85
+ template <class T, bool specialized>
86
+ struct fixed_numeric_limits_base
87
+ : public if_true< std::numeric_limits<T>::is_signed >
88
+ ::BOOST_NESTED_TEMPLATE then< signed_numeric_limits<T>,
89
+ std::numeric_limits<T>
90
+ >::type
91
+ {};
92
+
93
+ template <class T>
94
+ struct fixed_numeric_limits
95
+ : fixed_numeric_limits_base<T,(std::numeric_limits<T>::is_specialized)>
96
+ {};
97
+
98
+ # ifdef BOOST_HAS_LONG_LONG
99
+ // cover implementations which supply no specialization for long
100
+ // long / unsigned long long. Not intended to be full
101
+ // numeric_limits replacements, but good enough for numeric_cast<>
102
+ template <>
103
+ struct fixed_numeric_limits_base< ::boost::long_long_type, false>
104
+ {
105
+ BOOST_STATIC_CONSTANT(bool, is_specialized = true);
106
+ BOOST_STATIC_CONSTANT(bool, is_signed = true);
107
+ static ::boost::long_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
108
+ {
109
+ # ifdef LONGLONG_MAX
110
+ return LONGLONG_MAX;
111
+ # else
112
+ return 9223372036854775807LL; // hope this is portable
113
+ # endif
114
+ }
115
+
116
+ static ::boost::long_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
117
+ {
118
+ # ifdef LONGLONG_MIN
119
+ return LONGLONG_MIN;
120
+ # else
121
+ return -( 9223372036854775807LL )-1; // hope this is portable
122
+ # endif
123
+ }
124
+ };
125
+
126
+ template <>
127
+ struct fixed_numeric_limits_base< ::boost::ulong_long_type, false>
128
+ {
129
+ BOOST_STATIC_CONSTANT(bool, is_specialized = true);
130
+ BOOST_STATIC_CONSTANT(bool, is_signed = false);
131
+ static ::boost::ulong_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
132
+ {
133
+ # ifdef ULONGLONG_MAX
134
+ return ULONGLONG_MAX;
135
+ # else
136
+ return 0xffffffffffffffffULL; // hope this is portable
137
+ # endif
138
+ }
139
+
140
+ static ::boost::ulong_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
141
+ };
142
+ # endif
143
+ } // namespace detail
144
+
145
+ // less_than_type_min -
146
+ // x_is_signed should be numeric_limits<X>::is_signed
147
+ // y_is_signed should be numeric_limits<Y>::is_signed
148
+ // y_min should be numeric_limits<Y>::min()
149
+ //
150
+ // check(x, y_min) returns true iff x < y_min without invoking comparisons
151
+ // between signed and unsigned values.
152
+ //
153
+ // "poor man's partial specialization" is in use here.
154
+ template <bool x_is_signed, bool y_is_signed>
155
+ struct less_than_type_min
156
+ {
157
+ template <class X, class Y>
158
+ static bool check(X x, Y y_min)
159
+ { return x < y_min; }
160
+ };
161
+
162
+ template <>
163
+ struct less_than_type_min<false, true>
164
+ {
165
+ template <class X, class Y>
166
+ static bool check(X, Y)
167
+ { return false; }
168
+ };
169
+
170
+ template <>
171
+ struct less_than_type_min<true, false>
172
+ {
173
+ template <class X, class Y>
174
+ static bool check(X x, Y)
175
+ { return x < 0; }
176
+ };
177
+
178
+ // greater_than_type_max -
179
+ // same_sign should be:
180
+ // numeric_limits<X>::is_signed == numeric_limits<Y>::is_signed
181
+ // y_max should be numeric_limits<Y>::max()
182
+ //
183
+ // check(x, y_max) returns true iff x > y_max without invoking comparisons
184
+ // between signed and unsigned values.
185
+ //
186
+ // "poor man's partial specialization" is in use here.
187
+ template <bool same_sign, bool x_is_signed>
188
+ struct greater_than_type_max;
189
+
190
+ template<>
191
+ struct greater_than_type_max<true, true>
192
+ {
193
+ template <class X, class Y>
194
+ static inline bool check(X x, Y y_max)
195
+ { return x > y_max; }
196
+ };
197
+
198
+ template <>
199
+ struct greater_than_type_max<false, true>
200
+ {
201
+ // What does the standard say about this? I think it's right, and it
202
+ // will work with every compiler I know of.
203
+ template <class X, class Y>
204
+ static inline bool check(X x, Y)
205
+ { return x >= 0 && static_cast<X>(static_cast<Y>(x)) != x; }
206
+ };
207
+
208
+ template<>
209
+ struct greater_than_type_max<true, false>
210
+ {
211
+ template <class X, class Y>
212
+ static inline bool check(X x, Y y_max)
213
+ { return x > y_max; }
214
+ };
215
+
216
+ template <>
217
+ struct greater_than_type_max<false, false>
218
+ {
219
+ // What does the standard say about this? I think it's right, and it
220
+ // will work with every compiler I know of.
221
+ template <class X, class Y>
222
+ static inline bool check(X x, Y)
223
+ { return static_cast<X>(static_cast<Y>(x)) != x; }
224
+ };
225
+
226
+ #else // use #pragma hacks if available
227
+
228
+ namespace detail
229
+ {
230
+ # if BOOST_MSVC
231
+ # pragma warning(push)
232
+ # pragma warning(disable : 4018)
233
+ # pragma warning(disable : 4146)
234
+ #elif defined(BOOST_BORLANDC)
235
+ # pragma option push -w-8041
236
+ # endif
237
+
238
+ // Move to namespace boost in utility.hpp?
239
+ template <class T>
240
+ struct fixed_numeric_limits : public std::numeric_limits<T>
241
+ {
242
+ static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
243
+ {
244
+ return std::numeric_limits<T>::is_signed && (std::numeric_limits<T>::min)() >= 0
245
+ ? T(-(std::numeric_limits<T>::max)()) : (std::numeric_limits<T>::min)();
246
+ }
247
+ };
248
+
249
+ # if BOOST_MSVC
250
+ # pragma warning(pop)
251
+ #elif defined(BOOST_BORLANDC)
252
+ # pragma option pop
253
+ # endif
254
+ } // namespace detail
255
+
256
+ #endif
257
+
258
+ template<typename Target, typename Source>
259
+ inline Target numeric_cast(Source arg)
260
+ {
261
+ // typedefs abbreviating respective trait classes
262
+ typedef detail::fixed_numeric_limits<Source> arg_traits;
263
+ typedef detail::fixed_numeric_limits<Target> result_traits;
264
+
265
+ #if defined(BOOST_STRICT_CONFIG) \
266
+ || (!defined(__HP_aCC) || __HP_aCC > 33900) \
267
+ && (!defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) \
268
+ || defined(BOOST_SGI_CPP_LIMITS))
269
+ // typedefs that act as compile time assertions
270
+ // (to be replaced by boost compile time assertions
271
+ // as and when they become available and are stable)
272
+ typedef bool argument_must_be_numeric[arg_traits::is_specialized];
273
+ typedef bool result_must_be_numeric[result_traits::is_specialized];
274
+
275
+ const bool arg_is_signed = arg_traits::is_signed;
276
+ const bool result_is_signed = result_traits::is_signed;
277
+ const bool same_sign = arg_is_signed == result_is_signed;
278
+
279
+ if (less_than_type_min<arg_is_signed, result_is_signed>::check(arg, (result_traits::min)())
280
+ || greater_than_type_max<same_sign, arg_is_signed>::check(arg, (result_traits::max)())
281
+ )
282
+
283
+ #else // We need to use #pragma hacks if available
284
+
285
+ # if BOOST_MSVC
286
+ # pragma warning(push)
287
+ # pragma warning(disable : 4018)
288
+ #elif defined(BOOST_BORLANDC)
289
+ #pragma option push -w-8012
290
+ # endif
291
+ if ((arg < 0 && !result_traits::is_signed) // loss of negative range
292
+ || (arg_traits::is_signed && arg < (result_traits::min)()) // underflow
293
+ || arg > (result_traits::max)()) // overflow
294
+ # if BOOST_MSVC
295
+ # pragma warning(pop)
296
+ #elif defined(BOOST_BORLANDC)
297
+ #pragma option pop
298
+ # endif
299
+ #endif
300
+ {
301
+ throw bad_numeric_cast();
302
+ }
303
+ return static_cast<Target>(arg);
304
+ } // numeric_cast
305
+
306
+ } // namespace boost
307
+
308
+ #endif // BOOST_OLD_NUMERIC_CAST_HPP