This code adds one column to ExSan Grid // ExSan(n, m) ----> Exsan(n, m + 1)
1 /***********START***************/
2 //This code adds one column to ExSan Grid
3 // ExSan(n, m) ----> Exsan(n, m + 1)
1
2 /***********START***************/
3 void Net::colInsertNet(NETPTR net,
4 unsigned short insertNcols, // ADD COLS
5 ){
6 CELLPTR ptr(nullptr), newCell(nullptr);
7 ROWPTR rptr(nullptr);
8
9 for (unsigned short col = 1; insertNcols; col++) {
10 rptr = net->go_to_row(net, 1);
11 for (unsigned short row = 1; row <= net->get_net_rows(); row++) {
12
13 newCell = newCell->create_cell(row, net->get_net_cols() + col);
14
15 newCell->set_previous_ptr(rptr->get_backward_ptr());
16 rptr->get_backward_ptr()->set_next_ptr(newCell);
17 rptr->set_backward_ptr(newCell);
18
19 rptr = rptr->get_down_ptr();
20 }
21
22 rptr = net->go_to_row(net, 1);
23 for (unsigned short row = 1; row <= net->get_net_rows(); row++) {
24 if (row == 1) {
25 rptr->get_backward_ptr()->set_sw_ptr( //sw
26 rptr->get_backward_ptr()->get_previous_ptr()->get_s_ptr()
27 );
28 rptr->get_backward_ptr()->get_sw_ptr()->set_ne_ptr(rptr->get_backward_ptr());
29
30 rptr->get_backward_ptr()->get_e_ptr()->get_s_ptr()->get_w_ptr()->set_n_ptr(rptr->get_backward_ptr());
31 rptr->get_backward_ptr()->set_s_ptr(rptr->get_backward_ptr()->get_e_ptr()->get_s_ptr()->get_w_ptr());
32
33 }
34 else if (row == net->get_net_rows()) {
35
36 rptr->get_backward_ptr()->set_nw_ptr(
37 rptr->get_backward_ptr()->get_previous_ptr()->get_n_ptr()
38 );
39 rptr->get_backward_ptr()->get_nw_ptr()->set_se_ptr(rptr->get_backward_ptr());
40
41 rptr->get_backward_ptr()->get_e_ptr()->get_n_ptr()->get_w_ptr()->set_s_ptr(rptr->get_backward_ptr());
42 rptr->get_backward_ptr()->set_n_ptr(rptr->get_backward_ptr()->get_e_ptr()->get_n_ptr()->get_w_ptr());
43
44 }
45 else {
46 //n
47 rptr->get_backward_ptr()->get_e_ptr()->get_n_ptr()->get_w_ptr()->set_s_ptr(rptr->get_backward_ptr());
48 rptr->get_backward_ptr()->set_n_ptr(rptr->get_backward_ptr()->get_e_ptr()->get_n_ptr()->get_w_ptr());
49
50 //nw
51 rptr->get_backward_ptr()->set_nw_ptr(
52 rptr->get_backward_ptr()->get_previous_ptr()->get_n_ptr()
53 );
54 rptr->get_backward_ptr()->get_nw_ptr()->set_se_ptr(rptr->get_backward_ptr());
55
56 //sw
57 rptr->get_backward_ptr()->set_sw_ptr( //sw
58 rptr->get_backward_ptr()->get_previous_ptr()->get_s_ptr()
59 );
60 rptr->get_backward_ptr()->get_sw_ptr()->set_ne_ptr(rptr->get_backward_ptr());
61
62 //s
63 rptr->get_backward_ptr()->get_e_ptr()->get_s_ptr()->get_w_ptr()->set_n_ptr(rptr->get_backward_ptr());
64 rptr->get_backward_ptr()->set_s_ptr(rptr->get_backward_ptr()->get_e_ptr()->get_s_ptr()->get_w_ptr());
65 }
66
67 rptr = rptr->get_down_ptr();
68 }
69 //net->set_net_cols(net->get_net_cols() + insertNcols);
70 }
71 net->set_net_cols(net->get_net_cols() + insertNcols);
72 }
73 /***********END colInsertNet *****************/
59
60
Previous | Low Latency Systematic Trading Algorithm | Next |
Comments
Post a Comment