Lattice Land Core Library
Loading...
Searching...
No Matches
lala::FixpointSubsetCPU< FixpointEngine > Class Template Reference

#include <fixpoint.hpp>

Public Types

using snapshot_type = size_t
 

Public Member Functions

 FixpointSubsetCPU (size_t n)
 
template<class F >
bool iterate (const F &f)
 
template<class F >
size_t fixpoint (const F &f)
 
template<class F , class StopFun >
size_t fixpoint (const F &f, const StopFun &g)
 
template<class F , class StopFun , class M >
size_t fixpoint (const F &f, const StopFun &g, B< M > &has_changed)
 
size_t 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 = size_t

Constructor & Destructor Documentation

◆ FixpointSubsetCPU()

template<class FixpointEngine >
lala::FixpointSubsetCPU< FixpointEngine >::FixpointSubsetCPU ( size_t 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 >
size_t lala::FixpointSubsetCPU< FixpointEngine >::fixpoint ( const F & f)
inline

◆ fixpoint() [2/3]

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

◆ fixpoint() [3/3]

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

◆ num_active()

template<class FixpointEngine >
size_t 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: