Lattice Land Core Library
lala::FixpointSubsetCPU< FixpointEngine > Class Template Reference

#include <fixpoint.hpp>

Public Types

using snapshot_type = int
 

Public Member Functions

 FixpointSubsetCPU (int n)
 
template<class F >
bool iterate (const F &f)
 
template<class F >
int fixpoint (const F &f)
 
template<class F , class StopFun >
int fixpoint (const F &f, const StopFun &g)
 
template<class F , class StopFun , class M >
int fixpoint (const F &f, const StopFun &g, B< M > &has_changed)
 
int num_active () const
 
void reset ()
 
template<class G >
void select (const G &g)
 
snapshot_type snapshot () const
 
void restore (const snapshot_type &snap)
 

Detailed Description

template<class FixpointEngine>
class lala::FixpointSubsetCPU< FixpointEngine >

Add the ability to deactive functions in a fixpoint computation. Given a function g, we select only the functions \( f_{i_1} ; \ldots ; f_{i_k} \) for which \( g(i_k) \) is true, and compute subsequent fixpoint without them.

Member Typedef Documentation

◆ snapshot_type

template<class FixpointEngine >
using lala::FixpointSubsetCPU< FixpointEngine >::snapshot_type = int

Constructor & Destructor Documentation

◆ FixpointSubsetCPU()

template<class FixpointEngine >
lala::FixpointSubsetCPU< FixpointEngine >::FixpointSubsetCPU ( int  n)
inline

Member Function Documentation

◆ iterate()

template<class FixpointEngine >
template<class F >
bool lala::FixpointSubsetCPU< FixpointEngine >::iterate ( const F &  f)
inline

◆ fixpoint() [1/3]

template<class FixpointEngine >
template<class F >
int lala::FixpointSubsetCPU< FixpointEngine >::fixpoint ( const F &  f)
inline

◆ fixpoint() [2/3]

template<class FixpointEngine >
template<class F , class StopFun >
int lala::FixpointSubsetCPU< FixpointEngine >::fixpoint ( const F &  f,
const StopFun &  g 
)
inline

◆ fixpoint() [3/3]

template<class FixpointEngine >
template<class F , class StopFun , class M >
int lala::FixpointSubsetCPU< FixpointEngine >::fixpoint ( const F &  f,
const StopFun &  g,
B< M > &  has_changed 
)
inline

◆ num_active()

template<class FixpointEngine >
int lala::FixpointSubsetCPU< FixpointEngine >::num_active ( ) const
inline
Returns
the number of active functions.

◆ reset()

template<class FixpointEngine >
void lala::FixpointSubsetCPU< FixpointEngine >::reset ( )
inline

◆ select()

template<class FixpointEngine >
template<class G >
void lala::FixpointSubsetCPU< FixpointEngine >::select ( const G &  g)
inline

Compute the subset of the functions that are still active. The subsequent call to fixpoint will only consider the function f_i for which g(i) is true.

◆ snapshot()

template<class FixpointEngine >
snapshot_type lala::FixpointSubsetCPU< FixpointEngine >::snapshot ( ) const
inline

◆ restore()

template<class FixpointEngine >
void lala::FixpointSubsetCPU< FixpointEngine >::restore ( const snapshot_type snap)
inline

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