Ophidian
 All Classes Namespaces Functions
Classes | Typedefs | Functions | Variables
ophidian::interconnection Namespace Reference

The Interonnection namespace.

Classes

struct  point
 
class  compare_xcoord
 
class  compare_ycoord
 
struct  csoln
 
struct  tree_branch
 
struct  tree
 
class  packed_rc_tree
 Packed RC Tree Class. More...
 
class  rc_tree
 RC Tree Class. More...
 

Typedefs

typedef struct
ophidian::interconnection::point 
POINT
 
typedef POINTPOINTptr
 

Functions

void readLUT ()
 
DTYPE flute_wl (int d, DTYPE x[], DTYPE y[], int acc)
 
DTYPE flutes_wl_LD (int d, DTYPE xs[], DTYPE ys[], int s[])
 
DTYPE flutes_wl_MD (int d, DTYPE xs[], DTYPE ys[], int s[], int acc)
 
DTYPE flutes_wl_RDP (int d, DTYPE xs[], DTYPE ys[], int s[], int acc)
 
tree flute (int d, DTYPE x[], DTYPE y[], int acc)
 
tree flutes_LD (int d, DTYPE xs[], DTYPE ys[], int s[])
 
tree flutes_MD (int d, DTYPE xs[], DTYPE ys[], int s[], int acc)
 
tree flutes_RDP (int d, DTYPE xs[], DTYPE ys[], int s[], int acc)
 
tree dmergetree (tree t1, tree t2)
 
tree hmergetree (tree t1, tree t2, int s[])
 
tree vmergetree (tree t1, tree t2)
 
DTYPE wirelength (tree t)
 
void printtree (tree t)
 
double hpwl (const std::vector< geometry::point< double > > &points)
 HPWL calculation. More...
 
double stwl (const std::vector< geometry::point< double > > &points)
 StWL calculation. More...
 

Variables

int numgrp [10] ={0,0,0,0,6,30,180,1260,10080,90720}
 
struct csolnLUT [FLUTE_D+1][MGROUP]
 
int numsoln [FLUTE_D+1][MGROUP]
 

Function Documentation

double ophidian::interconnection::hpwl ( const std::vector< geometry::point< double > > &  points)

Calculates the half-perimeter of the minimum bounding box that covers a set of points.

Parameters
pointsA vector of points.
double ophidian::interconnection::stwl ( const std::vector< geometry::point< double > > &  points)

Calculates the the length of a Steiner tree connecting a set of points.

Parameters
pointsA vector of points.