46 int iseg, length, i, index;
58 rr_indexed_data[i].ortho_cost_index =
OPEN;
59 rr_indexed_data[i].seg_index =
OPEN;
60 rr_indexed_data[i].inv_length =
OPEN;
61 rr_indexed_data[i].T_linear =
OPEN;
62 rr_indexed_data[i].T_quadratic =
OPEN;
63 rr_indexed_data[i].C_load =
OPEN;
71 for (iseg = 0; iseg < num_segment; iseg++) {
74 rr_indexed_data[index].ortho_cost_index = index + num_segment;
76 if (segment_inf[iseg].longline)
79 length =
std::min(segment_inf[iseg].length,
nx);
81 rr_indexed_data[index].inv_length = 1. / length;
82 rr_indexed_data[index].seg_index = iseg;
86 nodes_per_chan, L_rr_node_indices, segment_inf);
90 for (iseg = 0; iseg < num_segment; iseg++) {
93 rr_indexed_data[index].ortho_cost_index = index - num_segment;
95 if (segment_inf[iseg].longline)
98 length =
std::min(segment_inf[iseg].length,
ny);
100 rr_indexed_data[index].inv_length = 1. / length;
101 rr_indexed_data[index].seg_index = iseg;
105 num_segment,
CHANY, nodes_per_chan, L_rr_node_indices, segment_inf);
108 base_cost_type, wire_to_ipin_switch);
t_rr_indexed_data * rr_indexed_data
static void * my_malloc(int ibytes)
struct s_switch_inf * switch_inf
static void load_rr_indexed_data_base_costs(int nodes_per_chan, t_ivec ***L_rr_node_indices, enum e_base_cost_type base_cost_type, int wire_to_ipin_switch)
static void load_rr_indexed_data_T_values(int index_start, int num_indices_to_load, t_rr_type rr_type, int nodes_per_chan, t_ivec ***L_rr_node_indices, t_segment_inf *segment_inf)