Limbo 3.5.4
Loading...
Searching...
No Matches
limbo::algorithms::placement::GreedySearch< CallbackType > Class Template Reference

#include <GreedySearch.h>

Public Types

typedef CallbackType callback_type
typedef callback_type::node_type node_type
typedef callback_type::cost_type cost_type
typedef callback_type::row_type row_type
typedef callback_type::site_coordinate_type site_coordinate_type
typedef callback_type::node_vector_type node_vector_type
 node container for a single row
typedef callback_type::node_fail_vector_type node_fail_vector_type
typedef callback_type::row_vector_type row_vector_type
typedef gs_choose_type< typenamerow_vector_type::value_type >::value_type row_value_type
typedef gs_choose_type< typenamerow_vector_type::value_type >::const_value_type row_const_value_type
typedef gs_choose_type< typenamenode_vector_type::value_type >::value_type node_value_type
typedef gs_choose_type< typenamenode_vector_type::value_type >::const_value_type node_const_value_type

Public Member Functions

 GreedySearch (callback_type cbk=callback_type())
void operator() (node_fail_vector_type &vFailNode, int max_swap_cnt)
void run (node_fail_vector_type &vFailNode, int max_swap_cnt)
bool search_swap (node_value_type n, node_fail_vector_type &vFailNode, int swap_cnt)

Protected Member Functions

site_coordinate_type node_site_size_x (node_const_value_type n) const
site_coordinate_type node_site_gap_x (node_const_value_type n1, node_const_value_type n2) const
site_coordinate_type site_xl (node_const_value_type n) const
site_coordinate_type site_xh (node_const_value_type n) const

Protected Attributes

callback_type m_cbk
 a copiable callback_type is required

Detailed Description

template<typename CallbackType>
class limbo::algorithms::placement::GreedySearch< CallbackType >

core class to perform greedy search functions

Template Parameters
CallbackTypeprovides all the information needed

Definition at line 139 of file GreedySearch.h.

Member Typedef Documentation

◆ callback_type

template<typename CallbackType>
typedef CallbackType limbo::algorithms::placement::GreedySearch< CallbackType >::callback_type

Definition at line 143 of file GreedySearch.h.

◆ cost_type

template<typename CallbackType>
typedef callback_type::cost_type limbo::algorithms::placement::GreedySearch< CallbackType >::cost_type

Definition at line 145 of file GreedySearch.h.

◆ node_const_value_type

template<typename CallbackType>
typedef gs_choose_type<typenamenode_vector_type::value_type>::const_value_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_const_value_type

Definition at line 157 of file GreedySearch.h.

◆ node_fail_vector_type

template<typename CallbackType>
typedef callback_type::node_fail_vector_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_fail_vector_type

Definition at line 149 of file GreedySearch.h.

◆ node_type

template<typename CallbackType>
typedef callback_type::node_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_type

Definition at line 144 of file GreedySearch.h.

◆ node_value_type

template<typename CallbackType>
typedef gs_choose_type<typenamenode_vector_type::value_type>::value_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_value_type

Definition at line 156 of file GreedySearch.h.

◆ node_vector_type

template<typename CallbackType>
typedef callback_type::node_vector_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_vector_type

node container for a single row

Definition at line 148 of file GreedySearch.h.

◆ row_const_value_type

template<typename CallbackType>
typedef gs_choose_type<typenamerow_vector_type::value_type>::const_value_type limbo::algorithms::placement::GreedySearch< CallbackType >::row_const_value_type

Definition at line 154 of file GreedySearch.h.

◆ row_type

template<typename CallbackType>
typedef callback_type::row_type limbo::algorithms::placement::GreedySearch< CallbackType >::row_type

Definition at line 146 of file GreedySearch.h.

◆ row_value_type

template<typename CallbackType>
typedef gs_choose_type<typenamerow_vector_type::value_type>::value_type limbo::algorithms::placement::GreedySearch< CallbackType >::row_value_type

Definition at line 153 of file GreedySearch.h.

◆ row_vector_type

template<typename CallbackType>
typedef callback_type::row_vector_type limbo::algorithms::placement::GreedySearch< CallbackType >::row_vector_type

Definition at line 150 of file GreedySearch.h.

◆ site_coordinate_type

template<typename CallbackType>
typedef callback_type::site_coordinate_type limbo::algorithms::placement::GreedySearch< CallbackType >::site_coordinate_type

Definition at line 147 of file GreedySearch.h.

Constructor & Destructor Documentation

◆ GreedySearch()

template<typename CallbackType>
limbo::algorithms::placement::GreedySearch< CallbackType >::GreedySearch ( callback_type cbk = callback_type())
inline

constructor

Parameters
cbkcallback object

Definition at line 162 of file GreedySearch.h.

Member Function Documentation

◆ node_site_gap_x()

template<typename CallbackType>
site_coordinate_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_site_gap_x ( node_const_value_type n1,
node_const_value_type n2 ) const
inlineprotected
Parameters
n1node
n2node
Returns
gap in number of sites between nodes

Definition at line 299 of file GreedySearch.h.

◆ node_site_size_x()

template<typename CallbackType>
site_coordinate_type limbo::algorithms::placement::GreedySearch< CallbackType >::node_site_size_x ( node_const_value_type n) const
inlineprotected
Parameters
nnode
Returns
width of node

Definition at line 292 of file GreedySearch.h.

◆ operator()()

template<typename CallbackType>
void limbo::algorithms::placement::GreedySearch< CallbackType >::operator() ( node_fail_vector_type & vFailNode,
int max_swap_cnt )
inline

API to run the algorithm

Parameters
vFailNodecontainer to store failed nodes
max_swap_cntone cell can swap with how many other cells

Definition at line 167 of file GreedySearch.h.

◆ run()

template<typename CallbackType>
void limbo::algorithms::placement::GreedySearch< CallbackType >::run ( node_fail_vector_type & vFailNode,
int max_swap_cnt )
inline

kernel function to run the algorithm

Parameters
vFailNodecontainer to store failed nodes
max_swap_cntone cell can swap with how many other cells

Definition at line 171 of file GreedySearch.h.

◆ search_swap()

template<typename CallbackType>
bool limbo::algorithms::placement::GreedySearch< CallbackType >::search_swap ( node_value_type n,
node_fail_vector_type & vFailNode,
int swap_cnt )
inline

node_map_type can be vector<list<node_type> > row_vector_type can be vector<row_type>

Parameters
nnode
vFailNodecontainer to store failed nodes
swap_cntnumber of swaps occurs

Definition at line 200 of file GreedySearch.h.

◆ site_xh()

template<typename CallbackType>
site_coordinate_type limbo::algorithms::placement::GreedySearch< CallbackType >::site_xh ( node_const_value_type n) const
inlineprotected
Parameters
nnode
Returns
right coordiate in sites

Definition at line 311 of file GreedySearch.h.

◆ site_xl()

template<typename CallbackType>
site_coordinate_type limbo::algorithms::placement::GreedySearch< CallbackType >::site_xl ( node_const_value_type n) const
inlineprotected
Parameters
nnode
Returns
left coordiate in sites

Definition at line 305 of file GreedySearch.h.

Member Data Documentation

◆ m_cbk

template<typename CallbackType>
callback_type limbo::algorithms::placement::GreedySearch< CallbackType >::m_cbk
protected

a copiable callback_type is required

Definition at line 316 of file GreedySearch.h.


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