akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
Loading...
Searching...
No Matches
convex::debug Namespace Reference

Classes

struct  FixedBufferWriter
 Small no-heap append-only writer for debug formatting. More...
 

Functions

template<std::size_t N>
FixedBufferWriter make_writer (char(&out)[N])
 
template<linalg::Field T, std::size_t N>
bool append_array_slice (FixedBufferWriter &w, const std::array< T, N > &v, std::size_t size)
 
template<linalg::VectorContainer Vec>
bool append_vector (FixedBufferWriter &w, const Vec &v)
 
template<linalg::MatrixContainer Mat>
bool append_matrix (FixedBufferWriter &w, const Mat &M)
 
template<linalg::VectorContainer Vec>
std::size_t vector_to_cstr (const Vec &v, char *out, std::size_t out_size)
 
template<linalg::MatrixContainer Mat>
std::size_t matrix_to_cstr (const Mat &M, char *out, std::size_t out_size)
 
constexpr const char * solver_result_to_cstr (config::SolverResult tag)
 
constexpr const char * numerical_event_to_cstr (linalg::NumericalEvent event)
 
constexpr const char * canonical_cone_kind_to_cstr (CanonicalConeKind kind)
 
template<typename Trace >
bool append_canonical_trace (FixedBufferWriter &w, const Trace &trace)
 
template<linalg::Field T, std::size_t NumCones, typename ConeTuple , std::size_t... Is>
bool append_cone_steps (FixedBufferWriter &w, const PdIpmStepTrace< T, NumCones > &step, const ConeTuple &cones, std::index_sequence< Is... >, const char *label)
 
template<linalg::Field T, std::size_t NumCones, typename CanonicalTraceT >
bool append_iter_trace (FixedBufferWriter &w, const PdIpmIterTrace< T, NumCones > &iter, const CanonicalTraceT &canonical_trace, std::size_t k)
 
template<linalg::Field T, std::size_t NumCones, typename CanonicalTraceT >
bool append_solver_trace (FixedBufferWriter &w, const PdIpmTrace< T, NumCones > &trace, const CanonicalTraceT &canonical_trace)
 
template<typename Trace , typename CanonicalTraceT >
bool append_solver_trace (FixedBufferWriter &w, const Trace &, const CanonicalTraceT &)
 
template<linalg::VectorContainer Var, linalg::VectorContainer ConeVar, linalg::VectorContainer NuVar, typename CanonicalTraceT , typename SolverTraceT >
bool append_result (FixedBufferWriter &w, const convex::PrimalDualResult< Var, ConeVar, NuVar, CanonicalTraceT, SolverTraceT > &res)
 
template<linalg::VectorContainer Var, linalg::VectorContainer ConeVar, linalg::VectorContainer NuVar, typename CanonicalTraceT , typename SolverTraceT >
std::size_t result_to_cstr (const convex::PrimalDualResult< Var, ConeVar, NuVar, CanonicalTraceT, SolverTraceT > &res, char *out, std::size_t out_size)
 

Function Documentation

◆ append_array_slice()

template<linalg::Field T, std::size_t N>
bool convex::debug::append_array_slice ( FixedBufferWriter &  w,
const std::array< T, N > &  v,
std::size_t  size 
)
inline

◆ append_canonical_trace()

template<typename Trace >
bool convex::debug::append_canonical_trace ( FixedBufferWriter &  w,
const Trace &  trace 
)
inline

◆ append_cone_steps()

template<linalg::Field T, std::size_t NumCones, typename ConeTuple , std::size_t... Is>
bool convex::debug::append_cone_steps ( FixedBufferWriter &  w,
const PdIpmStepTrace< T, NumCones > &  step,
const ConeTuple &  cones,
std::index_sequence< Is... >  ,
const char *  label 
)
inline

◆ append_iter_trace()

◆ append_matrix()

template<linalg::MatrixContainer Mat>
bool convex::debug::append_matrix ( FixedBufferWriter &  w,
const Mat &  M 
)
inline

◆ append_result()

template<linalg::VectorContainer Var, linalg::VectorContainer ConeVar, linalg::VectorContainer NuVar, typename CanonicalTraceT , typename SolverTraceT >
bool convex::debug::append_result ( FixedBufferWriter &  w,
const convex::PrimalDualResult< Var, ConeVar, NuVar, CanonicalTraceT, SolverTraceT > &  res 
)
inline

◆ append_solver_trace() [1/2]

template<linalg::Field T, std::size_t NumCones, typename CanonicalTraceT >
bool convex::debug::append_solver_trace ( FixedBufferWriter &  w,
const PdIpmTrace< T, NumCones > &  trace,
const CanonicalTraceT &  canonical_trace 
)
inline

◆ append_solver_trace() [2/2]

template<typename Trace , typename CanonicalTraceT >
bool convex::debug::append_solver_trace ( FixedBufferWriter &  w,
const Trace &  ,
const CanonicalTraceT &   
)
inline

Definition at line 220 of file pd_ipm_format.hpp.

References convex::debug::FixedBufferWriter::append().

◆ append_vector()

template<linalg::VectorContainer Vec>
bool convex::debug::append_vector ( FixedBufferWriter &  w,
const Vec &  v 
)
inline

◆ canonical_cone_kind_to_cstr()

constexpr const char * convex::debug::canonical_cone_kind_to_cstr ( CanonicalConeKind  kind)
inlineconstexpr

◆ make_writer()

template<std::size_t N>
FixedBufferWriter convex::debug::make_writer ( char(&)  out[N])
inline

Definition at line 73 of file fixed_buffer_writer.hpp.

References convex::debug::FixedBufferWriter::init().

◆ matrix_to_cstr()

template<linalg::MatrixContainer Mat>
std::size_t convex::debug::matrix_to_cstr ( const Mat &  M,
char *  out,
std::size_t  out_size 
)
inline

◆ numerical_event_to_cstr()

constexpr const char * convex::debug::numerical_event_to_cstr ( linalg::NumericalEvent  event)
inlineconstexpr

Definition at line 47 of file pd_ipm_format.hpp.

Referenced by append_iter_trace(), and append_result().

◆ result_to_cstr()

template<linalg::VectorContainer Var, linalg::VectorContainer ConeVar, linalg::VectorContainer NuVar, typename CanonicalTraceT , typename SolverTraceT >
std::size_t convex::debug::result_to_cstr ( const convex::PrimalDualResult< Var, ConeVar, NuVar, CanonicalTraceT, SolverTraceT > &  res,
char *  out,
std::size_t  out_size 
)
inline

◆ solver_result_to_cstr()

◆ vector_to_cstr()

template<linalg::VectorContainer Vec>
std::size_t convex::debug::vector_to_cstr ( const Vec &  v,
char *  out,
std::size_t  out_size 
)
inline