|
limes 3.1.0
Composable Calculus Expressions for C++20
|
N-dimensional box integration with Monte Carlo methods. More...
#include <span>#include <string>#include <array>#include <cstddef>#include <sstream>#include <utility>#include <random>#include "../algorithms/core/result.hpp"#include "../methods/methods.hpp"#include "nodes/binary.hpp"
Include dependency graph for box_integral.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | limes::expr::BoxIntegral< E, Dims > |
| N-dimensional integral over a rectangular box. More... | |
| struct | limes::expr::ConstrainedBoxIntegral< E, Dims, Constraint > |
| Box integral with constraint for irregular regions. More... | |
| struct | limes::expr::is_box_integral< T > |
| struct | limes::expr::is_box_integral< BoxIntegral< E, D > > |
| struct | limes::expr::is_constrained_box_integral< T > |
| struct | limes::expr::is_constrained_box_integral< ConstrainedBoxIntegral< E, D, C > > |
Namespaces | |
| namespace | limes |
| namespace | limes::expr |
| Expression layer for composable calculus. | |
| namespace | limes::expr::detail |
Functions | |
| template<typename E , std::size_t Dims> | |
| constexpr auto | limes::expr::over_box (E expr, std::array< std::pair< typename E::value_type, typename E::value_type >, Dims > bounds) |
| Create a box integral from an expression. | |
| template<typename E > | |
| auto | limes::expr::box2d (E expr, typename E::value_type x0, typename E::value_type x1, typename E::value_type y0, typename E::value_type y1) |
| Create a 2D box integral (specialization for common case) | |
| template<typename E > | |
| auto | limes::expr::box3d (E expr, typename E::value_type x0, typename E::value_type x1, typename E::value_type y0, typename E::value_type y1, typename E::value_type z0, typename E::value_type z1) |
| Create a 3D box integral (specialization for common case) | |
Variables | |
| template<typename T > | |
| constexpr bool | limes::expr::is_box_integral_v = is_box_integral<T>::value |
| template<typename T > | |
| constexpr bool | limes::expr::is_constrained_box_integral_v = is_constrained_box_integral<T>::value |
N-dimensional box integration with Monte Carlo methods.
This module provides BoxIntegral for integrating expressions over rectangular N-dimensional regions, and ConstrainedBoxIntegral for irregular regions via rejection sampling.
Definition in file box_integral.hpp.