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_ternary_vector< VariableType, MaxDigits > Class Template Reference

Class of vectors of ternary floating-point numbers in num_collect::opt::adaptive_diagonal_curves. More...

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

+ Inheritance diagram for num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >:
+ Collaboration diagram for num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >:

Public Types

using digit_type = std::int8_t
 Type of a digit.
 

Public Member Functions

 adc_ternary_vector ()=default
 Constructor.
 
 adc_ternary_vector (index_type dim)
 Constructor.
 
auto as_variable (const VariableType &lower_bound, const VariableType &width) const -> VariableType
 Convert this vector to a variable.
 
auto current_max_digits () const -> index_type
 Get the current maximum number of digits.
 
auto digits (index_type dim) const -> index_type
 Get the number of digits in a dimension.
 
auto dim () const -> index_type
 Get the number of dimensions.
 
template<typename Scalar>
auto elem_as (index_type dim) const -> Scalar
 Get the element of this vector as a floating-point number.
 
auto hash () const -> std::size_t
 Calculate the hash of this vector.
 
auto is_full () const -> bool
 Check whether this vector is full.
 
auto next_divided_dimension_index () const -> index_type
 Get the next dimension index to add a digit.
 
auto operator!= (const adc_ternary_vector &right) const -> bool
 Compare with another object.
 
auto operator() (index_type dim, index_type digit) -> digit_type &
 Access a digit.
 
auto operator() (index_type dim, index_type digit) const -> digit_type
 Access a digit.
 
auto operator== (const adc_ternary_vector &right) const -> bool
 Compare with another object.
 
auto push_back (digit_type digit) -> std::pair< index_type, index_type >
 Add a digit to a dimension specified by next_divided_dimension_index().
 

Static Public Attributes

static constexpr index_type dimensions_at_compile_time
 Dimensions at compile time.
 
static constexpr index_type max_digits_at_compile_time = MaxDigits
 Maximum number of digits per dimension at compile time.
 
static constexpr index_type max_dimensions_at_compile_time
 Maximum number of dimensions at compile time.
 

Private Types

using data_type
 Type of data matrix.
 

Private Attributes

index_type current_max_digits_ {0}
 Current maximum number of digits.
 
data_type data_
 Data matrix.
 
index_type next_divided_dimension_index_ {0}
 Next dimension index to add a digit.
 

Detailed Description

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
class num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >

Class of vectors of ternary floating-point numbers in num_collect::opt::adaptive_diagonal_curves.

Template Parameters
VariableTypeType of variables.
MaxDigitsMaximum number of digits per dimension at compile time.

Definition at line 46 of file adc_ternary_vector.h.

Member Typedef Documentation

◆ data_type

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
using num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::data_type
private
Initial value:
MaxDigits, Eigen::RowMajor, max_dimensions_at_compile_time, MaxDigits>
static constexpr index_type max_dimensions_at_compile_time
Maximum number of dimensions at compile time.
static constexpr index_type dimensions_at_compile_time
Dimensions at compile time.

Type of data matrix.

Definition at line 261 of file adc_ternary_vector.h.

◆ digit_type

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
using num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::digit_type = std::int8_t

Type of a digit.

Definition at line 51 of file adc_ternary_vector.h.

Constructor & Destructor Documentation

◆ adc_ternary_vector()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::adc_ternary_vector ( index_type dim)
inlineexplicit

Constructor.

Parameters
[in]dimNumber of digits.

Definition at line 74 of file adc_ternary_vector.h.

Member Function Documentation

◆ as_variable()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::as_variable ( const VariableType & lower_bound,
const VariableType & width ) const -> VariableType
inlinenodiscard

Convert this vector to a variable.

Parameters
[in]lower_boundElement-wise lower bound of the search range.
[in]widthElement-wise width of the search range.
Returns
Variable.

Definition at line 233 of file adc_ternary_vector.h.

◆ current_max_digits()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::current_max_digits ( ) const -> index_type
inlinenodiscard

Get the current maximum number of digits.

Returns
Current maximum number of digits.

Definition at line 89 of file adc_ternary_vector.h.

◆ digits()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::digits ( index_type dim) const -> index_type
inlinenodiscard

Get the number of digits in a dimension.

Parameters
[in]dimDimension index.
Returns
Number of digits.

Definition at line 119 of file adc_ternary_vector.h.

◆ dim()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::dim ( ) const -> index_type
inlinenodiscard

Get the number of dimensions.

Returns
Number of dimensions.

Definition at line 82 of file adc_ternary_vector.h.

◆ elem_as()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
template<typename Scalar>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::elem_as ( index_type dim) const -> Scalar
inlinenodiscard

Get the element of this vector as a floating-point number.

Template Parameters
ScalarType of resulting floating-point number.
Parameters
[in]dimDimension index.
Returns
Calculated floating-point number.

Definition at line 213 of file adc_ternary_vector.h.

◆ hash()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::hash ( ) const -> std::size_t
inlinenodiscard

Calculate the hash of this vector.

Returns
Hash.

Definition at line 248 of file adc_ternary_vector.h.

◆ is_full()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::is_full ( ) const -> bool
inlinenodiscard

Check whether this vector is full.

Return values
trueThis vector is full.
falseThis vector is not full.

Definition at line 108 of file adc_ternary_vector.h.

◆ next_divided_dimension_index()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::next_divided_dimension_index ( ) const -> index_type
inlinenodiscard

Get the next dimension index to add a digit.

Returns
Next dimension index.

Definition at line 98 of file adc_ternary_vector.h.

◆ operator!=()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::operator!= ( const adc_ternary_vector< VariableType, MaxDigits > & right) const -> bool
inlinenodiscard

Compare with another object.

Parameters
[in]rightRight-hand-side object.
Returns
Whether the two object are different.

Definition at line 200 of file adc_ternary_vector.h.

◆ operator()() [1/2]

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::operator() ( index_type dim,
index_type digit ) -> digit_type&
inlinenodiscard

Access a digit.

Parameters
[in]dimDimension index.
[in]digitDigit index.
Returns
Reference to the digit.

Definition at line 148 of file adc_ternary_vector.h.

◆ operator()() [2/2]

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::operator() ( index_type dim,
index_type digit ) const -> digit_type
inlinenodiscard

Access a digit.

Parameters
[in]dimDimension index.
[in]digitDigit index.
Returns
Reference to the digit.

Definition at line 134 of file adc_ternary_vector.h.

◆ operator==()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::operator== ( const adc_ternary_vector< VariableType, MaxDigits > & right) const -> bool
inlinenodiscard

Compare with another object.

Parameters
[in]rightRight-hand-side object.
Returns
Whether the two object are same.

Definition at line 189 of file adc_ternary_vector.h.

◆ push_back()

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
auto num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::push_back ( digit_type digit) -> std::pair<index_type, index_type>
inline

Add a digit to a dimension specified by next_divided_dimension_index().

Parameters
[in]digitDigit.
Returns
Pair of indices of the dimension and the digit to which the digit is added.

Definition at line 163 of file adc_ternary_vector.h.

Member Data Documentation

◆ current_max_digits_

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
index_type num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::current_max_digits_ {0}
private

Current maximum number of digits.

Definition at line 268 of file adc_ternary_vector.h.

◆ data_

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
data_type num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::data_
private

Data matrix.

Definition at line 265 of file adc_ternary_vector.h.

◆ dimensions_at_compile_time

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
index_type num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::dimensions_at_compile_time
staticconstexpr
Initial value:
=
VariableType::RowsAtCompileTime

Dimensions at compile time.

Definition at line 54 of file adc_ternary_vector.h.

◆ max_digits_at_compile_time

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
index_type num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::max_digits_at_compile_time = MaxDigits
staticconstexpr

Maximum number of digits per dimension at compile time.

Definition at line 62 of file adc_ternary_vector.h.

◆ max_dimensions_at_compile_time

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
index_type num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::max_dimensions_at_compile_time
staticconstexpr
Initial value:
=
VariableType::MaxRowsAtCompileTime

Maximum number of dimensions at compile time.

Definition at line 58 of file adc_ternary_vector.h.

◆ next_divided_dimension_index_

template<base::concepts::real_scalar_dense_vector VariableType, index_type MaxDigits>
index_type num_collect::opt::impl::adc_ternary_vector< VariableType, MaxDigits >::next_divided_dimension_index_ {0}
private

Next dimension index to add a digit.

Definition at line 271 of file adc_ternary_vector.h.


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