numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
Loading...
Searching...
No Matches
num_collect::opt::impl::adc_group< Value, TernaryVector > Class Template Reference

Class of groups in [27] for num_collect::opt::adaptive_diagonal_curves. More...

#include <num_collect/opt/impl/adc_group.h>

+ Inheritance diagram for num_collect::opt::impl::adc_group< Value, TernaryVector >:
+ Collaboration diagram for num_collect::opt::impl::adc_group< Value, TernaryVector >:

Classes

struct  greater
 Class to compare rectangles. More...
 

Public Types

using rectangle_type = adc_rectangle<value_type, TernaryVector>
 Type of hyper-rectangles.
 
using value_type = Value
 Type of function values.
 

Public Member Functions

 adc_group (value_type dist)
 Constructor.
 
auto dist () const -> const value_type &
 Get the distance between center point and vertex.
 
auto empty () const -> bool
 Check whether this group is empty.
 
auto is_dividable () const -> bool
 Check whether the hyper-rectangle in this group can be divided.
 
auto min_rect () const -> const rectangle_type &
 Access the hyper-rectangle with the smallest average of function values at diagonal vertices.
 
auto pop () -> rectangle_type
 Pick out the hyper-rectangle with the smallest average of function values at diagonal vertices.
 
void push (rectangle_type rect)
 Add a hyper-rectangle to this group.
 

Private Types

using queue_type
 Type of queues of rectangles.
 

Private Attributes

value_type dist_
 Distance between center point and vertex.
 
queue_type rects_ {}
 Rectangles.
 

Detailed Description

template<base::concepts::real_scalar Value, typename TernaryVector>
class num_collect::opt::impl::adc_group< Value, TernaryVector >

Class of groups in [27] for num_collect::opt::adaptive_diagonal_curves.

Template Parameters
ValueType of function values.
TernaryVectorType of ternary vectors.

Definition at line 40 of file adc_group.h.

Member Typedef Documentation

◆ queue_type

template<base::concepts::real_scalar Value, typename TernaryVector>
using num_collect::opt::impl::adc_group< Value, TernaryVector >::queue_type
private
Initial value:
std::priority_queue<rectangle_type,
std::vector<rectangle_type>, greater>
adc_rectangle< value_type, TernaryVector > rectangle_type
Type of hyper-rectangles.
Definition adc_group.h:46
Class to compare rectangles.
Definition adc_group.h:118

Type of queues of rectangles.

Definition at line 133 of file adc_group.h.

◆ rectangle_type

template<base::concepts::real_scalar Value, typename TernaryVector>
using num_collect::opt::impl::adc_group< Value, TernaryVector >::rectangle_type = adc_rectangle<value_type, TernaryVector>

Type of hyper-rectangles.

Definition at line 46 of file adc_group.h.

◆ value_type

template<base::concepts::real_scalar Value, typename TernaryVector>
using num_collect::opt::impl::adc_group< Value, TernaryVector >::value_type = Value

Type of function values.

Definition at line 43 of file adc_group.h.

Constructor & Destructor Documentation

◆ adc_group()

template<base::concepts::real_scalar Value, typename TernaryVector>
num_collect::opt::impl::adc_group< Value, TernaryVector >::adc_group ( value_type dist)
inlineexplicit

Constructor.

Parameters
[in]distDistance between center point and vertex.

Definition at line 53 of file adc_group.h.

Member Function Documentation

◆ dist()

template<base::concepts::real_scalar Value, typename TernaryVector>
auto num_collect::opt::impl::adc_group< Value, TernaryVector >::dist ( ) const -> const value_type&
inlinenodiscard

Get the distance between center point and vertex.

Returns
Distance between center point and vertex.

Definition at line 112 of file adc_group.h.

◆ empty()

template<base::concepts::real_scalar Value, typename TernaryVector>
auto num_collect::opt::impl::adc_group< Value, TernaryVector >::empty ( ) const -> bool
inlinenodiscard

Check whether this group is empty.

Returns
Whether this group is empty.

Definition at line 78 of file adc_group.h.

◆ is_dividable()

template<base::concepts::real_scalar Value, typename TernaryVector>
auto num_collect::opt::impl::adc_group< Value, TernaryVector >::is_dividable ( ) const -> bool
inlinenodiscard

Check whether the hyper-rectangle in this group can be divided.

Return values
trueThe hyper-rectangle can be divided.
falseThe hyper-rectangle cannot be divided.

Definition at line 99 of file adc_group.h.

◆ min_rect()

template<base::concepts::real_scalar Value, typename TernaryVector>
auto num_collect::opt::impl::adc_group< Value, TernaryVector >::min_rect ( ) const -> const rectangle_type&
inlinenodiscard

Access the hyper-rectangle with the smallest average of function values at diagonal vertices.

Returns
Reference to the rectangle.

Definition at line 68 of file adc_group.h.

◆ pop()

template<base::concepts::real_scalar Value, typename TernaryVector>
auto num_collect::opt::impl::adc_group< Value, TernaryVector >::pop ( ) -> rectangle_type
inlinenodiscard

Pick out the hyper-rectangle with the smallest average of function values at diagonal vertices.

Returns
Rectangle.

Definition at line 86 of file adc_group.h.

◆ push()

template<base::concepts::real_scalar Value, typename TernaryVector>
void num_collect::opt::impl::adc_group< Value, TernaryVector >::push ( rectangle_type rect)
inline

Add a hyper-rectangle to this group.

Parameters
[in]rectRectangle.

Definition at line 60 of file adc_group.h.

Member Data Documentation

◆ dist_

template<base::concepts::real_scalar Value, typename TernaryVector>
value_type num_collect::opt::impl::adc_group< Value, TernaryVector >::dist_
private

Distance between center point and vertex.

Definition at line 140 of file adc_group.h.

◆ rects_

template<base::concepts::real_scalar Value, typename TernaryVector>
queue_type num_collect::opt::impl::adc_group< Value, TernaryVector >::rects_ {}
private

Rectangles.

Definition at line 137 of file adc_group.h.


The documentation for this class was generated from the following file: