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.
- package/README.md +29 -2
- package/boost/cast.hpp +20 -0
- package/boost/numeric/conversion/bounds.hpp +24 -0
- package/boost/numeric/conversion/cast.hpp +61 -0
- package/boost/numeric/conversion/conversion_traits.hpp +32 -0
- package/boost/numeric/conversion/converter.hpp +68 -0
- package/boost/numeric/conversion/converter_policies.hpp +194 -0
- package/boost/numeric/conversion/detail/bounds.hpp +58 -0
- package/boost/numeric/conversion/detail/conversion_traits.hpp +97 -0
- package/boost/numeric/conversion/detail/converter.hpp +593 -0
- package/boost/numeric/conversion/detail/int_float_mixture.hpp +72 -0
- package/boost/numeric/conversion/detail/is_subranged.hpp +234 -0
- package/boost/numeric/conversion/detail/meta.hpp +120 -0
- package/boost/numeric/conversion/detail/numeric_cast_traits.hpp +138 -0
- package/boost/numeric/conversion/detail/old_numeric_cast.hpp +308 -0
- package/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp +1741 -0
- package/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp +347 -0
- package/boost/numeric/conversion/detail/sign_mixture.hpp +72 -0
- package/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +69 -0
- package/boost/numeric/conversion/int_float_mixture.hpp +30 -0
- package/boost/numeric/conversion/int_float_mixture_enum.hpp +29 -0
- package/boost/numeric/conversion/is_subranged.hpp +27 -0
- package/boost/numeric/conversion/numeric_cast_traits.hpp +31 -0
- package/boost/numeric/conversion/sign_mixture.hpp +30 -0
- package/boost/numeric/conversion/sign_mixture_enum.hpp +29 -0
- package/boost/numeric/conversion/udt_builtin_mixture.hpp +28 -0
- package/boost/numeric/conversion/udt_builtin_mixture_enum.hpp +26 -0
- package/boost/numeric/interval/arith.hpp +305 -0
- package/boost/numeric/interval/arith2.hpp +304 -0
- package/boost/numeric/interval/arith3.hpp +69 -0
- package/boost/numeric/interval/checking.hpp +130 -0
- package/boost/numeric/interval/compare/certain.hpp +113 -0
- package/boost/numeric/interval/compare/explicit.hpp +248 -0
- package/boost/numeric/interval/compare/lexicographic.hpp +122 -0
- package/boost/numeric/interval/compare/possible.hpp +113 -0
- package/boost/numeric/interval/compare/set.hpp +101 -0
- package/boost/numeric/interval/compare/tribool.hpp +138 -0
- package/boost/numeric/interval/compare.hpp +19 -0
- package/boost/numeric/interval/constants.hpp +85 -0
- package/boost/numeric/interval/detail/alpha_rounding_control.hpp +113 -0
- package/boost/numeric/interval/detail/bcc_rounding_control.hpp +57 -0
- package/boost/numeric/interval/detail/bugs.hpp +48 -0
- package/boost/numeric/interval/detail/c99_rounding_control.hpp +50 -0
- package/boost/numeric/interval/detail/c99sub_rounding_control.hpp +43 -0
- package/boost/numeric/interval/detail/division.hpp +194 -0
- package/boost/numeric/interval/detail/ia64_rounding_control.hpp +83 -0
- package/boost/numeric/interval/detail/interval_prototype.hpp +41 -0
- package/boost/numeric/interval/detail/msvc_rounding_control.hpp +113 -0
- package/boost/numeric/interval/detail/ppc_rounding_control.hpp +99 -0
- package/boost/numeric/interval/detail/sparc_rounding_control.hpp +112 -0
- package/boost/numeric/interval/detail/test_input.hpp +76 -0
- package/boost/numeric/interval/detail/x86_rounding_control.hpp +108 -0
- package/boost/numeric/interval/detail/x86gcc_rounding_control.hpp +51 -0
- package/boost/numeric/interval/ext/integer.hpp +70 -0
- package/boost/numeric/interval/ext/x86_fast_rounding_control.hpp +70 -0
- package/boost/numeric/interval/hw_rounding.hpp +73 -0
- package/boost/numeric/interval/interval.hpp +450 -0
- package/boost/numeric/interval/io.hpp +41 -0
- package/boost/numeric/interval/limits.hpp +49 -0
- package/boost/numeric/interval/policies.hpp +75 -0
- package/boost/numeric/interval/rounded_arith.hpp +120 -0
- package/boost/numeric/interval/rounded_transc.hpp +140 -0
- package/boost/numeric/interval/rounding.hpp +101 -0
- package/boost/numeric/interval/transc.hpp +232 -0
- package/boost/numeric/interval/utility.hpp +335 -0
- package/boost/numeric/interval/utility_fwd.hpp +172 -0
- package/boost/numeric/interval.hpp +32 -0
- package/boost/numeric/odeint/algebra/algebra_dispatcher.hpp +86 -0
- package/boost/numeric/odeint/algebra/array_algebra.hpp +293 -0
- package/boost/numeric/odeint/algebra/default_operations.hpp +599 -0
- package/boost/numeric/odeint/algebra/detail/extract_value_type.hpp +51 -0
- package/boost/numeric/odeint/algebra/detail/for_each.hpp +165 -0
- package/boost/numeric/odeint/algebra/detail/macros.hpp +35 -0
- package/boost/numeric/odeint/algebra/detail/norm_inf.hpp +46 -0
- package/boost/numeric/odeint/algebra/fusion_algebra.hpp +216 -0
- package/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp +48 -0
- package/boost/numeric/odeint/algebra/multi_array_algebra.hpp +146 -0
- package/boost/numeric/odeint/algebra/norm_result_type.hpp +33 -0
- package/boost/numeric/odeint/algebra/operations_dispatcher.hpp +41 -0
- package/boost/numeric/odeint/algebra/range_algebra.hpp +142 -0
- package/boost/numeric/odeint/algebra/vector_space_algebra.hpp +175 -0
- package/boost/numeric/odeint/config.hpp +53 -0
- package/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp +55 -0
- package/boost/numeric/odeint/external/blaze/blaze_resize.hpp +64 -0
- package/boost/numeric/odeint/external/compute/compute.hpp +27 -0
- package/boost/numeric/odeint/external/compute/compute_algebra.hpp +65 -0
- package/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp +41 -0
- package/boost/numeric/odeint/external/compute/compute_operations.hpp +198 -0
- package/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp +44 -0
- package/boost/numeric/odeint/external/compute/compute_resize.hpp +92 -0
- package/boost/numeric/odeint/external/eigen/eigen.hpp +27 -0
- package/boost/numeric/odeint/external/eigen/eigen_algebra.hpp +98 -0
- package/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp +49 -0
- package/boost/numeric/odeint/external/eigen/eigen_resize.hpp +103 -0
- package/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp +228 -0
- package/boost/numeric/odeint/external/mkl/mkl_operations.hpp +181 -0
- package/boost/numeric/odeint/external/mpi/mpi.hpp +25 -0
- package/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp +62 -0
- package/boost/numeric/odeint/external/mpi/mpi_state.hpp +113 -0
- package/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp +95 -0
- package/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp +161 -0
- package/boost/numeric/odeint/external/mtl4/mtl4.hpp +23 -0
- package/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp +99 -0
- package/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp +134 -0
- package/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp +25 -0
- package/boost/numeric/odeint/external/nt2/nt2_copy.hpp +33 -0
- package/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp +31 -0
- package/boost/numeric/odeint/external/nt2/nt2_resize.hpp +54 -0
- package/boost/numeric/odeint/external/openmp/openmp.hpp +31 -0
- package/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp +281 -0
- package/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp +276 -0
- package/boost/numeric/odeint/external/openmp/openmp_state.hpp +172 -0
- package/boost/numeric/odeint/external/thrust/thrust.hpp +27 -0
- package/boost/numeric/odeint/external/thrust/thrust_algebra.hpp +217 -0
- package/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp +118 -0
- package/boost/numeric/odeint/external/thrust/thrust_operations.hpp +233 -0
- package/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp +118 -0
- package/boost/numeric/odeint/external/thrust/thrust_resize.hpp +197 -0
- package/boost/numeric/odeint/external/vexcl/vexcl.hpp +28 -0
- package/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp +61 -0
- package/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp +51 -0
- package/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp +55 -0
- package/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp +68 -0
- package/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp +96 -0
- package/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp +58 -0
- package/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp +226 -0
- package/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp +68 -0
- package/boost/numeric/odeint/integrate/check_adapter.hpp +222 -0
- package/boost/numeric/odeint/integrate/detail/functors.hpp +70 -0
- package/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp +161 -0
- package/boost/numeric/odeint/integrate/detail/integrate_const.hpp +167 -0
- package/boost/numeric/odeint/integrate/detail/integrate_n_steps.hpp +161 -0
- package/boost/numeric/odeint/integrate/detail/integrate_times.hpp +179 -0
- package/boost/numeric/odeint/integrate/integrate.hpp +133 -0
- package/boost/numeric/odeint/integrate/integrate_adaptive.hpp +127 -0
- package/boost/numeric/odeint/integrate/integrate_const.hpp +195 -0
- package/boost/numeric/odeint/integrate/integrate_n_steps.hpp +178 -0
- package/boost/numeric/odeint/integrate/integrate_times.hpp +220 -0
- package/boost/numeric/odeint/integrate/max_step_checker.hpp +114 -0
- package/boost/numeric/odeint/integrate/null_observer.hpp +38 -0
- package/boost/numeric/odeint/integrate/observer_collection.hpp +55 -0
- package/boost/numeric/odeint/iterator/adaptive_iterator.hpp +183 -0
- package/boost/numeric/odeint/iterator/adaptive_time_iterator.hpp +175 -0
- package/boost/numeric/odeint/iterator/const_step_iterator.hpp +180 -0
- package/boost/numeric/odeint/iterator/const_step_time_iterator.hpp +173 -0
- package/boost/numeric/odeint/iterator/detail/ode_iterator_base.hpp +199 -0
- package/boost/numeric/odeint/iterator/impl/adaptive_iterator_impl.hpp +251 -0
- package/boost/numeric/odeint/iterator/impl/const_step_iterator_impl.hpp +228 -0
- package/boost/numeric/odeint/iterator/impl/n_step_iterator_impl.hpp +239 -0
- package/boost/numeric/odeint/iterator/impl/times_iterator_impl.hpp +369 -0
- package/boost/numeric/odeint/iterator/integrate/detail/functors.hpp +70 -0
- package/boost/numeric/odeint/iterator/integrate/detail/integrate_adaptive.hpp +121 -0
- package/boost/numeric/odeint/iterator/integrate/detail/integrate_const.hpp +111 -0
- package/boost/numeric/odeint/iterator/integrate/detail/integrate_n_steps.hpp +107 -0
- package/boost/numeric/odeint/iterator/integrate/detail/integrate_times.hpp +67 -0
- package/boost/numeric/odeint/iterator/integrate/integrate.hpp +111 -0
- package/boost/numeric/odeint/iterator/integrate/integrate_adaptive.hpp +127 -0
- package/boost/numeric/odeint/iterator/integrate/integrate_const.hpp +158 -0
- package/boost/numeric/odeint/iterator/integrate/integrate_n_steps.hpp +123 -0
- package/boost/numeric/odeint/iterator/integrate/integrate_times.hpp +131 -0
- package/boost/numeric/odeint/iterator/integrate/null_observer.hpp +38 -0
- package/boost/numeric/odeint/iterator/integrate/observer_collection.hpp +55 -0
- package/boost/numeric/odeint/iterator/n_step_iterator.hpp +168 -0
- package/boost/numeric/odeint/iterator/n_step_time_iterator.hpp +169 -0
- package/boost/numeric/odeint/iterator/times_iterator.hpp +189 -0
- package/boost/numeric/odeint/iterator/times_time_iterator.hpp +193 -0
- package/boost/numeric/odeint/stepper/adams_bashforth.hpp +418 -0
- package/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp +313 -0
- package/boost/numeric/odeint/stepper/adams_moulton.hpp +201 -0
- package/boost/numeric/odeint/stepper/adaptive_adams_bashforth_moulton.hpp +237 -0
- package/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp +91 -0
- package/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp +588 -0
- package/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp +677 -0
- package/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp +415 -0
- package/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp +431 -0
- package/boost/numeric/odeint/stepper/bulirsch_stoer.hpp +642 -0
- package/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp +838 -0
- package/boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp +322 -0
- package/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp +1018 -0
- package/boost/numeric/odeint/stepper/controlled_step_result.hpp +42 -0
- package/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp +476 -0
- package/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp +148 -0
- package/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp +168 -0
- package/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp +148 -0
- package/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp +168 -0
- package/boost/numeric/odeint/stepper/detail/adaptive_adams_coefficients.hpp +207 -0
- package/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp +247 -0
- package/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp +263 -0
- package/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp +252 -0
- package/boost/numeric/odeint/stepper/detail/pid_step_adjuster.hpp +199 -0
- package/boost/numeric/odeint/stepper/detail/pid_step_adjuster_coefficients.hpp +180 -0
- package/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp +84 -0
- package/boost/numeric/odeint/stepper/euler.hpp +166 -0
- package/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp +255 -0
- package/boost/numeric/odeint/stepper/explicit_generic_rk.hpp +246 -0
- package/boost/numeric/odeint/stepper/extrapolation_stepper.hpp +288 -0
- package/boost/numeric/odeint/stepper/generation/generation_controlled_adams_bashforth_moulton.hpp +59 -0
- package/boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp +61 -0
- package/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp +65 -0
- package/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp +79 -0
- package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp +47 -0
- package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp +48 -0
- package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp +56 -0
- package/boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp +46 -0
- package/boost/numeric/odeint/stepper/generation/make_controlled.hpp +103 -0
- package/boost/numeric/odeint/stepper/generation/make_dense_output.hpp +100 -0
- package/boost/numeric/odeint/stepper/generation.hpp +37 -0
- package/boost/numeric/odeint/stepper/implicit_euler.hpp +170 -0
- package/boost/numeric/odeint/stepper/modified_midpoint.hpp +315 -0
- package/boost/numeric/odeint/stepper/rosenbrock4.hpp +346 -0
- package/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp +240 -0
- package/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp +204 -0
- package/boost/numeric/odeint/stepper/runge_kutta4.hpp +181 -0
- package/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp +232 -0
- package/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp +231 -0
- package/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp +289 -0
- package/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp +403 -0
- package/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp +374 -0
- package/boost/numeric/odeint/stepper/stepper_categories.hpp +66 -0
- package/boost/numeric/odeint/stepper/symplectic_euler.hpp +136 -0
- package/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp +160 -0
- package/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp +162 -0
- package/boost/numeric/odeint/stepper/velocity_verlet.hpp +375 -0
- package/boost/numeric/odeint/tools/assert.hpp +30 -0
- package/boost/numeric/odeint/tools/is_standalone.hpp +21 -0
- package/boost/numeric/odeint/tools/traits.hpp +39 -0
- package/boost/numeric/odeint/util/bind.hpp +35 -0
- package/boost/numeric/odeint/util/copy.hpp +88 -0
- package/boost/numeric/odeint/util/detail/is_range.hpp +127 -0
- package/boost/numeric/odeint/util/detail/less_with_sign.hpp +78 -0
- package/boost/numeric/odeint/util/is_pair.hpp +42 -0
- package/boost/numeric/odeint/util/is_resizeable.hpp +84 -0
- package/boost/numeric/odeint/util/multi_array_adaption.hpp +131 -0
- package/boost/numeric/odeint/util/n_ary_helper.hpp +96 -0
- package/boost/numeric/odeint/util/odeint_error.hpp +77 -0
- package/boost/numeric/odeint/util/resize.hpp +120 -0
- package/boost/numeric/odeint/util/resizer.hpp +94 -0
- package/boost/numeric/odeint/util/same_instance.hpp +56 -0
- package/boost/numeric/odeint/util/same_size.hpp +117 -0
- package/boost/numeric/odeint/util/split.hpp +64 -0
- package/boost/numeric/odeint/util/split_adaptor.hpp +103 -0
- package/boost/numeric/odeint/util/state_wrapper.hpp +50 -0
- package/boost/numeric/odeint/util/stepper_traits.hpp +63 -0
- package/boost/numeric/odeint/util/ublas_matrix_expression.patch +6 -0
- package/boost/numeric/odeint/util/ublas_wrapper.hpp +297 -0
- package/boost/numeric/odeint/util/unit_helper.hpp +151 -0
- package/boost/numeric/odeint/util/unwrap_reference.hpp +141 -0
- package/boost/numeric/odeint/version.hpp +55 -0
- package/boost/numeric/odeint.hpp +87 -0
- package/boost/numeric/ublas/assignment.hpp +1288 -0
- package/boost/numeric/ublas/banded.hpp +2372 -0
- package/boost/numeric/ublas/blas.hpp +499 -0
- package/boost/numeric/ublas/detail/concepts.hpp +1465 -0
- package/boost/numeric/ublas/detail/config.hpp +304 -0
- package/boost/numeric/ublas/detail/definitions.hpp +212 -0
- package/boost/numeric/ublas/detail/documentation.hpp +33 -0
- package/boost/numeric/ublas/detail/duff.hpp +56 -0
- package/boost/numeric/ublas/detail/iterator.hpp +1448 -0
- package/boost/numeric/ublas/detail/matrix_assign.hpp +1785 -0
- package/boost/numeric/ublas/detail/raw.hpp +878 -0
- package/boost/numeric/ublas/detail/returntype_deduction.hpp +174 -0
- package/boost/numeric/ublas/detail/temporary.hpp +33 -0
- package/boost/numeric/ublas/detail/vector_assign.hpp +609 -0
- package/boost/numeric/ublas/doxydoc.hpp +58 -0
- package/boost/numeric/ublas/exception.hpp +297 -0
- package/boost/numeric/ublas/experimental/sparse_view.hpp +317 -0
- package/boost/numeric/ublas/expression_types.hpp +506 -0
- package/boost/numeric/ublas/functional.hpp +2112 -0
- package/boost/numeric/ublas/fwd.hpp +229 -0
- package/boost/numeric/ublas/hermitian.hpp +2633 -0
- package/boost/numeric/ublas/io.hpp +355 -0
- package/boost/numeric/ublas/lu.hpp +350 -0
- package/boost/numeric/ublas/matrix.hpp +6013 -0
- package/boost/numeric/ublas/matrix_expression.hpp +5693 -0
- package/boost/numeric/ublas/matrix_proxy.hpp +5457 -0
- package/boost/numeric/ublas/matrix_sparse.hpp +5773 -0
- package/boost/numeric/ublas/matrix_vector.hpp +406 -0
- package/boost/numeric/ublas/opencl/elementwise.hpp +508 -0
- package/boost/numeric/ublas/opencl/library.hpp +38 -0
- package/boost/numeric/ublas/opencl/matrix.hpp +123 -0
- package/boost/numeric/ublas/opencl/misc.hpp +182 -0
- package/boost/numeric/ublas/opencl/operations.hpp +18 -0
- package/boost/numeric/ublas/opencl/prod.hpp +364 -0
- package/boost/numeric/ublas/opencl/transpose.hpp +142 -0
- package/boost/numeric/ublas/opencl/vector.hpp +90 -0
- package/boost/numeric/ublas/opencl.hpp +16 -0
- package/boost/numeric/ublas/operation/begin.hpp +318 -0
- package/boost/numeric/ublas/operation/c_array.hpp +41 -0
- package/boost/numeric/ublas/operation/end.hpp +318 -0
- package/boost/numeric/ublas/operation/num_columns.hpp +45 -0
- package/boost/numeric/ublas/operation/num_rows.hpp +44 -0
- package/boost/numeric/ublas/operation/size.hpp +350 -0
- package/boost/numeric/ublas/operation.hpp +830 -0
- package/boost/numeric/ublas/operation_blocked.hpp +266 -0
- package/boost/numeric/ublas/operation_sparse.hpp +198 -0
- package/boost/numeric/ublas/operations.hpp +26 -0
- package/boost/numeric/ublas/storage.hpp +2131 -0
- package/boost/numeric/ublas/storage_sparse.hpp +578 -0
- package/boost/numeric/ublas/symmetric.hpp +2309 -0
- package/boost/numeric/ublas/tags.hpp +37 -0
- package/boost/numeric/ublas/tensor/algorithms.hpp +345 -0
- package/boost/numeric/ublas/tensor/expression.hpp +181 -0
- package/boost/numeric/ublas/tensor/expression_evaluation.hpp +288 -0
- package/boost/numeric/ublas/tensor/extents.hpp +335 -0
- package/boost/numeric/ublas/tensor/functions.hpp +558 -0
- package/boost/numeric/ublas/tensor/index.hpp +89 -0
- package/boost/numeric/ublas/tensor/multi_index.hpp +110 -0
- package/boost/numeric/ublas/tensor/multi_index_utility.hpp +364 -0
- package/boost/numeric/ublas/tensor/multiplication.hpp +945 -0
- package/boost/numeric/ublas/tensor/operators_arithmetic.hpp +244 -0
- package/boost/numeric/ublas/tensor/operators_comparison.hpp +175 -0
- package/boost/numeric/ublas/tensor/ostream.hpp +122 -0
- package/boost/numeric/ublas/tensor/storage_traits.hpp +84 -0
- package/boost/numeric/ublas/tensor/strides.hpp +251 -0
- package/boost/numeric/ublas/tensor/tensor.hpp +734 -0
- package/boost/numeric/ublas/tensor.hpp +26 -0
- package/boost/numeric/ublas/traits/c_array.hpp +110 -0
- package/boost/numeric/ublas/traits/const_iterator_type.hpp +127 -0
- package/boost/numeric/ublas/traits/iterator_type.hpp +126 -0
- package/boost/numeric/ublas/traits.hpp +753 -0
- package/boost/numeric/ublas/triangular.hpp +2775 -0
- package/boost/numeric/ublas/vector.hpp +2947 -0
- package/boost/numeric/ublas/vector_expression.hpp +1762 -0
- package/boost/numeric/ublas/vector_of_vector.hpp +1347 -0
- package/boost/numeric/ublas/vector_proxy.hpp +1697 -0
- package/boost/numeric/ublas/vector_sparse.hpp +2246 -0
- 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
|