akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
Loading...
Searching...
No Matches
convex::PdIpmTrace< T, NumCones > Struct Template Reference

Fixed-capacity PD-IPM trace. More...

#include <pd_ipm_trace.hpp>

Public Member Functions

constexpr void reset ()
 
constexpr bool full () const
 full (num_iters >= PD_IPM_STEPS)
 
constexpr std::size_t size () const
 size
 
constexpr auto & iter (std::size_t k)
 iter & relevent overrides
 
constexpr const auto & iter (std::size_t k) const
 
constexpr auto & operator[] (std::size_t k)
 
constexpr const auto & operator[] (std::size_t k) const
 
constexpr auto & current ()
 current
 
constexpr const auto & current () const
 current
 
constexpr bool commit_iter ()
 commit iter will increment the number of iters
 

Public Attributes

std::array< PdIpmIterTrace< T, NumCones >, PD_IPM_STEPS > iters {}
 public member vars
 
std::size_t num_iters {}
 number of iterations
 

Static Public Attributes

static constexpr std::size_t num_cones = NumCones
 static export of num cones
 

Detailed Description

template<linalg::Field T, std::size_t NumCones>
struct convex::PdIpmTrace< T, NumCones >

Fixed-capacity PD-IPM trace.

num_iters is the number of committed iterations. current() returns the next writable slot until commit_iter() is called.

Definition at line 107 of file pd_ipm_trace.hpp.

Member Function Documentation

◆ commit_iter()

template<linalg::Field T, std::size_t NumCones>
constexpr bool convex::PdIpmTrace< T, NumCones >::commit_iter ( )
inlineconstexpr

commit iter will increment the number of iters

Returns
T/F

Definition at line 161 of file pd_ipm_trace.hpp.

References convex::PdIpmTrace< T, NumCones >::num_iters, and PD_IPM_STEPS.

◆ current() [1/2]

template<linalg::Field T, std::size_t NumCones>
constexpr auto & convex::PdIpmTrace< T, NumCones >::current ( )
inlineconstexpr

current

Returns
current iter reference

Definition at line 143 of file pd_ipm_trace.hpp.

References convex::PdIpmTrace< T, NumCones >::iters, convex::PdIpmTrace< T, NumCones >::num_iters, and PD_IPM_STEPS.

◆ current() [2/2]

template<linalg::Field T, std::size_t NumCones>
constexpr const auto & convex::PdIpmTrace< T, NumCones >::current ( ) const
inlineconstexpr

current

Returns
current iter

Definition at line 152 of file pd_ipm_trace.hpp.

References convex::PdIpmTrace< T, NumCones >::iters, convex::PdIpmTrace< T, NumCones >::num_iters, and PD_IPM_STEPS.

◆ full()

template<linalg::Field T, std::size_t NumCones>
constexpr bool convex::PdIpmTrace< T, NumCones >::full ( ) const
inlineconstexpr

full (num_iters >= PD_IPM_STEPS)

Returns
T/F

Definition at line 117 of file pd_ipm_trace.hpp.

References convex::PdIpmTrace< T, NumCones >::num_iters, and PD_IPM_STEPS.

◆ iter() [1/2]

template<linalg::Field T, std::size_t NumCones>
constexpr auto & convex::PdIpmTrace< T, NumCones >::iter ( std::size_t  k)
inlineconstexpr

iter & relevent overrides

Parameters
k(std::size_t)
Returns
iter at k

Definition at line 133 of file pd_ipm_trace.hpp.

References convex::dom_size_v, and convex::PdIpmTrace< T, NumCones >::iters.

◆ iter() [2/2]

template<linalg::Field T, std::size_t NumCones>
constexpr const auto & convex::PdIpmTrace< T, NumCones >::iter ( std::size_t  k) const
inlineconstexpr

◆ operator[]() [1/2]

template<linalg::Field T, std::size_t NumCones>
constexpr auto & convex::PdIpmTrace< T, NumCones >::operator[] ( std::size_t  k)
inlineconstexpr

◆ operator[]() [2/2]

template<linalg::Field T, std::size_t NumCones>
constexpr const auto & convex::PdIpmTrace< T, NumCones >::operator[] ( std::size_t  k) const
inlineconstexpr

◆ reset()

template<linalg::Field T, std::size_t NumCones>
constexpr void convex::PdIpmTrace< T, NumCones >::reset ( )
inlineconstexpr

Definition at line 108 of file pd_ipm_trace.hpp.

◆ size()

template<linalg::Field T, std::size_t NumCones>
constexpr std::size_t convex::PdIpmTrace< T, NumCones >::size ( ) const
inlineconstexpr

size

Returns
num_iters

Definition at line 124 of file pd_ipm_trace.hpp.

References convex::PdIpmTrace< T, NumCones >::num_iters.

Member Data Documentation

◆ iters

◆ num_cones

template<linalg::Field T, std::size_t NumCones>
constexpr std::size_t convex::PdIpmTrace< T, NumCones >::num_cones = NumCones
staticconstexpr

static export of num cones

Definition at line 110 of file pd_ipm_trace.hpp.

◆ num_iters


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