SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
action_storage.hpp File Reference
#include <algorithm>
#include <cmath>
#include <functional>
#include <initializer_list>
#include <span>
#include "serif/geometry/deformation/failure.hpp"
Include dependency graph for action_storage.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::geometry::deformation::detail::ActionInput
 Pair each action input with the dimension of its mathematical space. More...
 

Namespaces

namespace  serif
 
namespace  serif::geometry
 
namespace  serif::geometry::deformation
 
namespace  serif::geometry::deformation::detail
 

Functions

DeformationStatus serif::geometry::deformation::validate_deformation_values (std::span< const double > values, std::size_t expected_size)
 Reject incompatible lengths and non-finite values before evaluating a deformation action.
 
DeformationStatus serif::geometry::deformation::detail::validate_disjoint_output (std::span< double > output, std::initializer_list< std::span< const double > > inputs)
 Preserve every action input until the last use, including nonlinear transpose derivatives. The list contains only the fixed number of mathematical arguments to an action; checking address intervals requires no allocation and never scans numerical coefficients.
 
DeformationStatus serif::geometry::deformation::detail::validate_action_arguments (std::span< double > output, std::size_t output_size, std::initializer_list< ActionInput > inputs)
 Validate caller buffers uniformly, retaining disjoint inputs until an action has finished.