DryChem 1.0.0
A generic, compile-time C++ toolbox with no dependencies for the modern computational chemistry project.
Loading...
Searching...
No Matches
integration.hpp File Reference
#include <cstddef>
#include <iterator>
#include <optional>
#include <type_traits>
#include <utility>
#include <vector>
#include "common-utils/math/utils/mathExceptions.hpp"

Go to the source code of this file.

Namespaces

namespace  CppUtils
 
namespace  CppUtils::Math
 

Functions

template<typename Tx, typename Ty = Tx>
constexpr auto CppUtils::Math::trapz (Tx x1, Tx x2, Ty y1, Ty y2) noexcept
 
template<typename IteratorX, typename IteratorY = IteratorX, typename Tx = typename std::iterator_traits<IteratorX>::value_type, typename Ty = typename std::iterator_traits<IteratorY>::value_type, typename = std::enable_if_t<std::conjunction_v<std::is_default_constructible<Tx>, std::is_default_constructible<Ty>>>>
constexpr auto CppUtils::Math::cumulativeTrapzIntegration (IteratorX x_begin, IteratorX x_end, IteratorY y_begin, IteratorY y_end, std::optional< decltype(*x_begin **y_begin)> initialValue=std::nullopt)
 
template<typename ContainerX, typename ContainerY = ContainerX, typename Tx = typename ContainerX::value_type, typename Ty = typename ContainerY::value_type, typename = std::enable_if_t<std::conjunction_v<std::is_default_constructible<Tx>, std::is_default_constructible<Ty>>>>
constexpr auto CppUtils::Math::cumulativeTrapzIntegration (const ContainerX &x, const ContainerY &y, std::optional< decltype(std::declval< Tx >() *std::declval< Ty >())> initialValue=std::nullopt)