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,347 @@
1
+ //
2
+ //! Copyright (c) 2011-2012
3
+ //! Brandon Kohn
4
+ //
5
+ // Distributed under the Boost Software License, Version 1.0. (See
6
+ // accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt)
8
+ //
9
+ namespace boost { namespace numeric {
10
+
11
+
12
+ template <>
13
+ struct numeric_cast_traits
14
+ <
15
+ char
16
+ , boost::long_long_type
17
+ >
18
+ {
19
+ typedef def_overflow_handler overflow_policy;
20
+ typedef UseInternalRangeChecker range_checking_policy;
21
+ typedef Trunc<boost::long_long_type> rounding_policy;
22
+ };
23
+
24
+ template <>
25
+ struct numeric_cast_traits
26
+ <
27
+ char
28
+ , boost::ulong_long_type
29
+ >
30
+ {
31
+ typedef def_overflow_handler overflow_policy;
32
+ typedef UseInternalRangeChecker range_checking_policy;
33
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
34
+ };
35
+
36
+ template <>
37
+ struct numeric_cast_traits
38
+ <
39
+ signed char
40
+ , boost::long_long_type
41
+ >
42
+ {
43
+ typedef def_overflow_handler overflow_policy;
44
+ typedef UseInternalRangeChecker range_checking_policy;
45
+ typedef Trunc<boost::long_long_type> rounding_policy;
46
+ };
47
+
48
+ template <>
49
+ struct numeric_cast_traits
50
+ <
51
+ signed char
52
+ , boost::ulong_long_type
53
+ >
54
+ {
55
+ typedef def_overflow_handler overflow_policy;
56
+ typedef UseInternalRangeChecker range_checking_policy;
57
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
58
+ };
59
+
60
+ template <>
61
+ struct numeric_cast_traits
62
+ <
63
+ unsigned char
64
+ , boost::long_long_type
65
+ >
66
+ {
67
+ typedef def_overflow_handler overflow_policy;
68
+ typedef UseInternalRangeChecker range_checking_policy;
69
+ typedef Trunc<boost::long_long_type> rounding_policy;
70
+ };
71
+
72
+ template <>
73
+ struct numeric_cast_traits
74
+ <
75
+ unsigned char
76
+ , boost::ulong_long_type
77
+ >
78
+ {
79
+ typedef def_overflow_handler overflow_policy;
80
+ typedef UseInternalRangeChecker range_checking_policy;
81
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
82
+ };
83
+
84
+ template <>
85
+ struct numeric_cast_traits
86
+ <
87
+ short
88
+ , boost::long_long_type
89
+ >
90
+ {
91
+ typedef def_overflow_handler overflow_policy;
92
+ typedef UseInternalRangeChecker range_checking_policy;
93
+ typedef Trunc<boost::long_long_type> rounding_policy;
94
+ };
95
+
96
+ template <>
97
+ struct numeric_cast_traits
98
+ <
99
+ short
100
+ , boost::ulong_long_type
101
+ >
102
+ {
103
+ typedef def_overflow_handler overflow_policy;
104
+ typedef UseInternalRangeChecker range_checking_policy;
105
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
106
+ };
107
+
108
+ template <>
109
+ struct numeric_cast_traits
110
+ <
111
+ unsigned short
112
+ , boost::long_long_type
113
+ >
114
+ {
115
+ typedef def_overflow_handler overflow_policy;
116
+ typedef UseInternalRangeChecker range_checking_policy;
117
+ typedef Trunc<boost::long_long_type> rounding_policy;
118
+ };
119
+
120
+ template <>
121
+ struct numeric_cast_traits
122
+ <
123
+ unsigned short
124
+ , boost::ulong_long_type
125
+ >
126
+ {
127
+ typedef def_overflow_handler overflow_policy;
128
+ typedef UseInternalRangeChecker range_checking_policy;
129
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
130
+ };
131
+
132
+ template <>
133
+ struct numeric_cast_traits
134
+ <
135
+ int
136
+ , boost::long_long_type
137
+ >
138
+ {
139
+ typedef def_overflow_handler overflow_policy;
140
+ typedef UseInternalRangeChecker range_checking_policy;
141
+ typedef Trunc<boost::long_long_type> rounding_policy;
142
+ };
143
+
144
+ template <>
145
+ struct numeric_cast_traits
146
+ <
147
+ int
148
+ , boost::ulong_long_type
149
+ >
150
+ {
151
+ typedef def_overflow_handler overflow_policy;
152
+ typedef UseInternalRangeChecker range_checking_policy;
153
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
154
+ };
155
+
156
+ template <>
157
+ struct numeric_cast_traits
158
+ <
159
+ unsigned int
160
+ , boost::long_long_type
161
+ >
162
+ {
163
+ typedef def_overflow_handler overflow_policy;
164
+ typedef UseInternalRangeChecker range_checking_policy;
165
+ typedef Trunc<boost::long_long_type> rounding_policy;
166
+ };
167
+
168
+ template <>
169
+ struct numeric_cast_traits
170
+ <
171
+ unsigned int
172
+ , boost::ulong_long_type
173
+ >
174
+ {
175
+ typedef def_overflow_handler overflow_policy;
176
+ typedef UseInternalRangeChecker range_checking_policy;
177
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
178
+ };
179
+
180
+ template <>
181
+ struct numeric_cast_traits
182
+ <
183
+ long
184
+ , boost::long_long_type
185
+ >
186
+ {
187
+ typedef def_overflow_handler overflow_policy;
188
+ typedef UseInternalRangeChecker range_checking_policy;
189
+ typedef Trunc<boost::long_long_type> rounding_policy;
190
+ };
191
+
192
+ template <>
193
+ struct numeric_cast_traits
194
+ <
195
+ long
196
+ , boost::ulong_long_type
197
+ >
198
+ {
199
+ typedef def_overflow_handler overflow_policy;
200
+ typedef UseInternalRangeChecker range_checking_policy;
201
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
202
+ };
203
+
204
+ template <>
205
+ struct numeric_cast_traits
206
+ <
207
+ unsigned long
208
+ , boost::long_long_type
209
+ >
210
+ {
211
+ typedef def_overflow_handler overflow_policy;
212
+ typedef UseInternalRangeChecker range_checking_policy;
213
+ typedef Trunc<boost::long_long_type> rounding_policy;
214
+ };
215
+
216
+ template <>
217
+ struct numeric_cast_traits
218
+ <
219
+ unsigned long
220
+ , boost::ulong_long_type
221
+ >
222
+ {
223
+ typedef def_overflow_handler overflow_policy;
224
+ typedef UseInternalRangeChecker range_checking_policy;
225
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
226
+ };
227
+
228
+ template <>
229
+ struct numeric_cast_traits
230
+ <
231
+ float
232
+ , boost::long_long_type
233
+ >
234
+ {
235
+ typedef def_overflow_handler overflow_policy;
236
+ typedef UseInternalRangeChecker range_checking_policy;
237
+ typedef Trunc<boost::long_long_type> rounding_policy;
238
+ };
239
+
240
+ template <>
241
+ struct numeric_cast_traits
242
+ <
243
+ float
244
+ , boost::ulong_long_type
245
+ >
246
+ {
247
+ typedef def_overflow_handler overflow_policy;
248
+ typedef UseInternalRangeChecker range_checking_policy;
249
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
250
+ };
251
+
252
+ template <>
253
+ struct numeric_cast_traits
254
+ <
255
+ double
256
+ , boost::long_long_type
257
+ >
258
+ {
259
+ typedef def_overflow_handler overflow_policy;
260
+ typedef UseInternalRangeChecker range_checking_policy;
261
+ typedef Trunc<boost::long_long_type> rounding_policy;
262
+ };
263
+
264
+ template <>
265
+ struct numeric_cast_traits
266
+ <
267
+ double
268
+ , boost::ulong_long_type
269
+ >
270
+ {
271
+ typedef def_overflow_handler overflow_policy;
272
+ typedef UseInternalRangeChecker range_checking_policy;
273
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
274
+ };
275
+
276
+ template <>
277
+ struct numeric_cast_traits
278
+ <
279
+ long double
280
+ , boost::long_long_type
281
+ >
282
+ {
283
+ typedef def_overflow_handler overflow_policy;
284
+ typedef UseInternalRangeChecker range_checking_policy;
285
+ typedef Trunc<boost::long_long_type> rounding_policy;
286
+ };
287
+
288
+ template <>
289
+ struct numeric_cast_traits
290
+ <
291
+ long double
292
+ , boost::ulong_long_type
293
+ >
294
+ {
295
+ typedef def_overflow_handler overflow_policy;
296
+ typedef UseInternalRangeChecker range_checking_policy;
297
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
298
+ };
299
+
300
+ template <>
301
+ struct numeric_cast_traits
302
+ <
303
+ boost::long_long_type
304
+ , boost::long_long_type
305
+ >
306
+ {
307
+ typedef def_overflow_handler overflow_policy;
308
+ typedef UseInternalRangeChecker range_checking_policy;
309
+ typedef Trunc<boost::long_long_type> rounding_policy;
310
+ };
311
+
312
+ template <>
313
+ struct numeric_cast_traits
314
+ <
315
+ boost::long_long_type
316
+ , boost::ulong_long_type
317
+ >
318
+ {
319
+ typedef def_overflow_handler overflow_policy;
320
+ typedef UseInternalRangeChecker range_checking_policy;
321
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
322
+ };
323
+
324
+ template <>
325
+ struct numeric_cast_traits
326
+ <
327
+ boost::ulong_long_type
328
+ , boost::long_long_type
329
+ >
330
+ {
331
+ typedef def_overflow_handler overflow_policy;
332
+ typedef UseInternalRangeChecker range_checking_policy;
333
+ typedef Trunc<boost::long_long_type> rounding_policy;
334
+ };
335
+
336
+ template <>
337
+ struct numeric_cast_traits
338
+ <
339
+ boost::ulong_long_type
340
+ , boost::ulong_long_type
341
+ >
342
+ {
343
+ typedef def_overflow_handler overflow_policy;
344
+ typedef UseInternalRangeChecker range_checking_policy;
345
+ typedef Trunc<boost::ulong_long_type> rounding_policy;
346
+ };
347
+ }}
@@ -0,0 +1,72 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
12
+
13
+ #include "boost/config.hpp"
14
+ #include "boost/limits.hpp"
15
+
16
+ #include "boost/numeric/conversion/sign_mixture_enum.hpp"
17
+ #include "boost/numeric/conversion/detail/meta.hpp"
18
+
19
+ #include "boost/type_traits/integral_constant.hpp"
20
+
21
+ namespace boost { namespace numeric { namespace convdetail
22
+ {
23
+ // Integral Constants for 'SignMixture'
24
+ typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
25
+ typedef boost::integral_constant<sign_mixture_enum, signed_to_signed> sig2sig_c ;
26
+ typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ;
27
+ typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ;
28
+
29
+ // Metafunction:
30
+ //
31
+ // get_sign_mixture<T,S>::type
32
+ //
33
+ // Selects the appropriate SignMixture Integral Constant for the combination T,S.
34
+ //
35
+ template<class T,class S>
36
+ struct get_sign_mixture
37
+ {
38
+ typedef mpl::bool_< ::std::numeric_limits<S>::is_signed > S_signed ;
39
+ typedef mpl::bool_< ::std::numeric_limits<T>::is_signed > T_signed ;
40
+
41
+ typedef typename
42
+ for_both<S_signed, T_signed, sig2sig_c, sig2unsig_c, unsig2sig_c, unsig2unsig_c>::type
43
+ type ;
44
+ } ;
45
+
46
+ // Metafunction:
47
+ //
48
+ // for_sign_mixture<SignMixture,Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig>::type
49
+ //
50
+ // {SignMixture} is one of the Integral Constants for SignMixture, declared above.
51
+ // {Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig} are aribtrary types. (not metafunctions)
52
+ //
53
+ // According to the value of 'SignMixture', selects the corresponding type.
54
+ //
55
+ template<class SignMixture, class Sig2Sig, class Sig2Unsig, class Unsig2Sig, class Unsig2Unsig>
56
+ struct for_sign_mixture
57
+ {
58
+ typedef typename
59
+ ct_switch4<SignMixture
60
+ , sig2sig_c, sig2unsig_c, unsig2sig_c // default
61
+ , Sig2Sig , Sig2Unsig , Unsig2Sig , Unsig2Unsig
62
+ >::type
63
+ type ;
64
+ } ;
65
+
66
+ } } } // namespace boost::numeric::convdetail
67
+
68
+ #endif
69
+ //
70
+ ///////////////////////////////////////////////////////////////////////////////////////////////
71
+
72
+
@@ -0,0 +1,69 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
12
+
13
+ #include "boost/type_traits/is_arithmetic.hpp"
14
+
15
+ #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
16
+ #include "boost/numeric/conversion/detail/meta.hpp"
17
+
18
+ #include "boost/type_traits/integral_constant.hpp"
19
+
20
+ namespace boost { namespace numeric { namespace convdetail
21
+ {
22
+ // Integral Constants for 'UdtMixture'
23
+ typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
24
+ typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ;
25
+ typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ;
26
+ typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ;
27
+
28
+ // Metafunction:
29
+ //
30
+ // for_udt_mixture<UdtMixture,BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt>::type
31
+ //
32
+ // {UdtMixture} is one of the Integral Constants for UdMixture, declared above.
33
+ // {BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt} are aribtrary types. (not metafunctions)
34
+ //
35
+ // According to the value of 'UdtMixture', selects the corresponding type.
36
+ //
37
+ template<class UdtMixture, class BuiltIn2BuiltIn, class BuiltIn2Udt, class Udt2BuiltIn, class Udt2Udt>
38
+ struct for_udt_builtin_mixture
39
+ {
40
+ typedef typename
41
+ ct_switch4<UdtMixture
42
+ , builtin2builtin_c, builtin2udt_c, udt2builtin_c // default
43
+ , BuiltIn2BuiltIn , BuiltIn2Udt , Udt2BuiltIn , Udt2Udt
44
+ >::type
45
+ type ;
46
+ } ;
47
+
48
+ // Metafunction:
49
+ //
50
+ // get_udt_mixture<T,S>::type
51
+ //
52
+ // Selects the appropriate UdtMixture Integral Constant for the combination T,S.
53
+ //
54
+ template<class T,class S>
55
+ struct get_udt_builtin_mixture
56
+ {
57
+ typedef is_arithmetic<S> S_builtin ;
58
+ typedef is_arithmetic<T> T_builtin ;
59
+
60
+ typedef typename
61
+ for_both<S_builtin, T_builtin, builtin2builtin_c, builtin2udt_c, udt2builtin_c, udt2udt_c>::type
62
+ type ;
63
+ } ;
64
+
65
+ } } } // namespace boost::numeric::convdetail
66
+
67
+ #endif
68
+
69
+
@@ -0,0 +1,30 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
12
+
13
+ #include "boost/numeric/conversion/detail/int_float_mixture.hpp"
14
+
15
+ namespace boost { namespace numeric
16
+ {
17
+
18
+ template<class T, class S>
19
+ struct int_float_mixture
20
+ : convdetail::get_int_float_mixture< BOOST_DEDUCED_TYPENAME remove_cv<T>::type
21
+ ,BOOST_DEDUCED_TYPENAME remove_cv<S>::type
22
+ >::type {} ;
23
+
24
+ } } // namespace boost::numeric
25
+
26
+ #endif
27
+ //
28
+ ///////////////////////////////////////////////////////////////////////////////////////////////
29
+
30
+
@@ -0,0 +1,29 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
12
+
13
+ namespace boost { namespace numeric
14
+ {
15
+ enum int_float_mixture_enum
16
+ {
17
+ integral_to_integral
18
+ ,integral_to_float
19
+ ,float_to_integral
20
+ ,float_to_float
21
+ } ;
22
+
23
+ } } // namespace boost::numeric
24
+
25
+ #endif
26
+ //
27
+ ///////////////////////////////////////////////////////////////////////////////////////////////
28
+
29
+
@@ -0,0 +1,27 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_IS_SUBRANGED_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_IS_SUBRANGED_FLC_12NOV2002_HPP
12
+
13
+ #include "boost/numeric/conversion/detail/is_subranged.hpp"
14
+
15
+ namespace boost { namespace numeric {
16
+
17
+ template<class T, class S>
18
+ struct is_subranged
19
+ : convdetail::get_is_subranged< BOOST_DEDUCED_TYPENAME remove_cv<T>::type
20
+ ,BOOST_DEDUCED_TYPENAME remove_cv<S>::type
21
+ >::type {} ;
22
+
23
+ } } // namespace boost::numeric
24
+
25
+ #endif
26
+
27
+
@@ -0,0 +1,31 @@
1
+ //
2
+ //! Copyright (c) 2011
3
+ //! Brandon Kohn
4
+ //
5
+ // Distributed under the Boost Software License, Version 1.0. (See
6
+ // accompanying file LICENSE_1_0.txt or copy at
7
+ // http://www.boost.org/LICENSE_1_0.txt)
8
+ //
9
+ #ifndef BOOST_NUMERIC_CAST_TRAITS_HPP
10
+ #define BOOST_NUMERIC_CAST_TRAITS_HPP
11
+
12
+ #include <boost/numeric/conversion/converter_policies.hpp>
13
+
14
+ namespace boost { namespace numeric {
15
+
16
+ template <typename Target, typename Source, typename EnableIf = void>
17
+ struct numeric_cast_traits
18
+ {
19
+ typedef def_overflow_handler overflow_policy;
20
+ typedef UseInternalRangeChecker range_checking_policy;
21
+ typedef Trunc<Source> rounding_policy;
22
+ };
23
+
24
+ }}//namespace boost::numeric;
25
+
26
+ #if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS )
27
+ #include <boost/cstdint.hpp>
28
+ #include <boost/numeric/conversion/detail/numeric_cast_traits.hpp>
29
+ #endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS
30
+
31
+ #endif//BOOST_NUMERIC_CAST_TRAITS_HPP
@@ -0,0 +1,30 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_FLC_12NOV2002_HPP
12
+
13
+ #include "boost/numeric/conversion/detail/sign_mixture.hpp"
14
+
15
+ namespace boost { namespace numeric
16
+ {
17
+
18
+ template<class T, class S>
19
+ struct sign_mixture
20
+ : convdetail::get_sign_mixture< BOOST_DEDUCED_TYPENAME remove_cv<T>::type
21
+ ,BOOST_DEDUCED_TYPENAME remove_cv<S>::type
22
+ >::type {} ;
23
+
24
+ } } // namespace boost::numeric
25
+
26
+ #endif
27
+ //
28
+ ///////////////////////////////////////////////////////////////////////////////////////////////
29
+
30
+
@@ -0,0 +1,29 @@
1
+ // (c) Copyright Fernando Luis Cacciola Carballal 2000-2004
2
+ // Use, modification, and distribution is subject to the Boost Software
3
+ // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
+ // http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See library home page at http://www.boost.org/libs/numeric/conversion
7
+ //
8
+ // Contact the author at: fernando_cacciola@hotmail.com
9
+ //
10
+ #ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
11
+ #define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
12
+
13
+ namespace boost { namespace numeric
14
+ {
15
+ enum sign_mixture_enum
16
+ {
17
+ unsigned_to_unsigned
18
+ ,signed_to_signed
19
+ ,signed_to_unsigned
20
+ ,unsigned_to_signed
21
+ } ;
22
+
23
+ } } // namespace boost::numeric
24
+
25
+ #endif
26
+ //
27
+ ///////////////////////////////////////////////////////////////////////////////////////////////
28
+
29
+