SOPT
Sparse OPTimisation
Public Types | Public Member Functions | List of all members
sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED > Class Template Reference

Expression referencing a lazy function call to envelope proximal. More...

#include <proximal_expression.h>

+ Inheritance diagram for sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >:
+ Collaboration diagram for sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >:

Public Types

using PlainObject = typename DERIVED::PlainObject
 
using Index = typename DERIVED::Index
 
using Real = typename real_type< typename DERIVED::Scalar >::type
 

Public Member Functions

 DelayedProximalEnveloppeFunction (FUNCTION const &func, DERIVED const &x)
 
 DelayedProximalEnveloppeFunction (DelayedProximalEnveloppeFunction const &c)
 
 DelayedProximalEnveloppeFunction (DelayedProximalEnveloppeFunction &&c)
 
template<typename DESTINATION >
void evalTo (DESTINATION &destination) const
 
Index rows () const
 
Index cols () const
 

Detailed Description

template<typename FUNCTION, typename DERIVED>
class sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >

Expression referencing a lazy function call to envelope proximal.

It helps transform the call proximal(out, input) to out = proximal(input) without incurring copy or allocation overhead if out already exists.

Definition at line 53 of file proximal_expression.h.

Member Typedef Documentation

◆ Index

template<typename FUNCTION , typename DERIVED >
using sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::Index = typename DERIVED::Index

Definition at line 57 of file proximal_expression.h.

◆ PlainObject

template<typename FUNCTION , typename DERIVED >
using sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::PlainObject = typename DERIVED::PlainObject

Definition at line 56 of file proximal_expression.h.

◆ Real

template<typename FUNCTION , typename DERIVED >
using sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::Real = typename real_type<typename DERIVED::Scalar>::type

Definition at line 58 of file proximal_expression.h.

Constructor & Destructor Documentation

◆ DelayedProximalEnveloppeFunction() [1/3]

template<typename FUNCTION , typename DERIVED >
sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::DelayedProximalEnveloppeFunction ( FUNCTION const &  func,
DERIVED const &  x 
)
inline

Definition at line 60 of file proximal_expression.h.

60 : func(func), x(x) {}

◆ DelayedProximalEnveloppeFunction() [2/3]

template<typename FUNCTION , typename DERIVED >
sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::DelayedProximalEnveloppeFunction ( DelayedProximalEnveloppeFunction< FUNCTION, DERIVED > const &  c)
inline

Definition at line 61 of file proximal_expression.h.

62  : func(c.func), x(c.x) {}

◆ DelayedProximalEnveloppeFunction() [3/3]

template<typename FUNCTION , typename DERIVED >
sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::DelayedProximalEnveloppeFunction ( DelayedProximalEnveloppeFunction< FUNCTION, DERIVED > &&  c)
inline

Definition at line 63 of file proximal_expression.h.

64  : func(std::move(c.func)), x(c.x) {}

Member Function Documentation

◆ cols()

template<typename FUNCTION , typename DERIVED >
Index sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::cols ( ) const
inline

Definition at line 73 of file proximal_expression.h.

73 { return x.cols(); }

◆ evalTo()

template<typename FUNCTION , typename DERIVED >
template<typename DESTINATION >
void sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::evalTo ( DESTINATION &  destination) const
inline

Definition at line 67 of file proximal_expression.h.

67  {
68  destination.resizeLike(x);
69  func(destination, x);
70  }

◆ rows()

template<typename FUNCTION , typename DERIVED >
Index sopt::proximal::details::DelayedProximalEnveloppeFunction< FUNCTION, DERIVED >::rows ( ) const
inline

Definition at line 72 of file proximal_expression.h.

72 { return x.rows(); }

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