Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <array> 7 : #include <cstddef> 8 : 9 : #include "Domain/Structure/SegmentId.hpp" 10 : #include "NumericalAlgorithms/Spectral/SegmentSize.hpp" 11 : 12 : namespace domain { 13 : /// @{ 14 : /*! 15 : * \brief Size of a child segment relative to its parent 16 : * 17 : * Determines which part of the `parent_segment_id` is covered by the 18 : * `child_segment_id`: The full segment, its lower half or its upper half. 19 : */ 20 1 : Spectral::SegmentSize child_size(const SegmentId& child_segment_id, 21 : const SegmentId& parent_segment_id); 22 : 23 : template <size_t Dim> 24 1 : std::array<Spectral::SegmentSize, Dim> child_size( 25 : const std::array<SegmentId, Dim>& child_segment_ids, 26 : const std::array<SegmentId, Dim>& parent_segment_ids); 27 : /// @} 28 : } // namespace domain