diff options
author | Ole Mathias Heggem <olemathias.aa.heggem@gmail.com> | 2025-03-28 14:11:02 +0100 |
---|---|---|
committer | Ole Mathias Heggem <olemathias.aa.heggem@gmail.com> | 2025-03-28 14:11:02 +0100 |
commit | f1accc54423a1f221e947152177687d890653989 (patch) | |
tree | 54676e4d36ba3f26a8adbe95dc538c2dabd8faec | |
parent | d2c52007cab72fb5fe73fb978821c4b18c1d24b0 (diff) |
tg25 planning v0.1tg25-planning
-rw-r--r-- | planning/patchlist.txt | 135 | ||||
-rw-r--r-- | planning/patchlist.txt.distrosort | 135 | ||||
-rw-r--r-- | planning/planning.cpp | 107 |
3 files changed, 141 insertions, 236 deletions
diff --git a/planning/patchlist.txt b/planning/patchlist.txt index 916e88e..edf1a19 100644 --- a/planning/patchlist.txt +++ b/planning/patchlist.txt @@ -1,85 +1,50 @@ -e1-1 d2.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e1-2 d2.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e1-3 d1.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e1-4 d1.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e3-1 d2.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e3-2 d2.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e3-3 d1.floor mge-0/0/24 mge-2/0/24 # multirate -e3-4 d1.floor mge-0/0/25 mge-2/0/25 # multirate -e5-1 d2.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e5-2 d2.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e5-3 d1.floor mge-0/0/26 mge-2/0/26 # multirate -e5-4 d1.floor mge-0/0/27 mge-2/0/27 # multirate -e7-1 d2.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e7-2 d2.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e7-3 d1.floor mge-0/0/28 mge-2/0/28 # multirate -e7-4 d1.floor mge-0/0/29 mge-2/0/29 # multirate -e9-1 d2.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e9-2 d2.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e9-3 d1.floor mge-0/0/30 mge-2/0/30 # multirate -e9-4 d1.floor mge-0/0/31 mge-2/0/31 # multirate -e11-1 d4.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e13-1 d4.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e15-1 d4.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e17-1 d4.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e17-2 d4.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e17-3 d3.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e17-4 d3.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e19-1 d4.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e19-2 d4.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e19-3 d3.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e19-4 d3.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e21-1 d4.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e21-2 d4.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e21-3 d3.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e21-4 d3.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e23-1 d4.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e23-2 d4.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e23-3 d3.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e23-4 d3.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e25-1 d4.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e25-2 d4.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e25-3 d3.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e25-4 d3.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e27-1 d4.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e27-2 d4.floor ge-0/0/14 ge-1/0/14 ge-2/0/14 -e27-3 d3.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e27-4 d3.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e29-1 d4.floor ge-0/0/15 ge-1/0/15 ge-2/0/15 -e29-2 d4.floor ge-0/0/16 ge-1/0/16 ge-2/0/16 -e29-3 d3.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e29-4 d3.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e31-1 d4.floor ge-0/0/17 ge-1/0/17 ge-2/0/17 -e31-2 d4.floor ge-0/0/18 ge-1/0/18 ge-2/0/18 -e31-3 d3.floor ge-0/0/14 ge-1/0/14 ge-2/0/14 -e31-4 d3.floor ge-0/0/15 ge-1/0/15 ge-2/0/15 -e33-1 d6.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e33-2 d6.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e33-3 d5.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e33-4 d5.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e35-1 d6.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e35-2 d6.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e35-3 d5.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e35-4 d5.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e37-1 d6.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e37-2 d6.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e37-3 d5.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e37-4 d5.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e39-1 d6.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e39-2 d6.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e39-3 d5.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e39-4 d5.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e41-1 d6.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e41-2 d6.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e41-3 d5.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e41-4 d5.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e43-1 d6.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e43-2 d6.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e43-3 d5.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e43-4 d5.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e45-1 d6.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e45-2 d6.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e45-3 d5.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e45-4 d5.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e47-3 d5.floor ge-0/0/14 ge-1/0/14 ge-2/0/14 -e47-4 d5.floor ge-0/0/15 ge-1/0/15 ge-2/0/15 +e1-1 d1-floor Ethernet1 Ethernet25 Ethernet49 +e1-2 d1-floor Ethernet2 Ethernet26 Ethernet50 +e3-1 d1-floor Ethernet3 Ethernet27 Ethernet51 +e3-2 d1-floor Ethernet4 Ethernet28 Ethernet52 +e5-1 d1-floor Ethernet5 Ethernet29 Ethernet53 +e5-2 d1-floor Ethernet6 Ethernet30 Ethernet54 +e7-1 d1-floor Ethernet7 Ethernet31 Ethernet55 +e7-2 d1-floor Ethernet8 Ethernet32 Ethernet56 +e9-1 d1-floor Ethernet9 Ethernet33 Ethernet57 +e9-2 d1-floor Ethernet10 Ethernet34 Ethernet58 +e11-1 d2-floor Ethernet1 Ethernet25 Ethernet49 +e11-2 d2-floor Ethernet2 Ethernet26 Ethernet50 +e13-1 d2-floor Ethernet3 Ethernet27 Ethernet51 +e13-2 d2-floor Ethernet4 Ethernet28 Ethernet52 +e15-1 d2-floor Ethernet5 Ethernet29 Ethernet53 +e15-2 d2-floor Ethernet6 Ethernet30 Ethernet54 +e17-1 d2-floor Ethernet7 Ethernet31 Ethernet55 +e17-2 d2-floor Ethernet8 Ethernet32 Ethernet56 +e19-1 d2-floor Ethernet9 Ethernet33 Ethernet57 +e19-2 d2-floor Ethernet10 Ethernet34 Ethernet58 +e21-1 d2-floor Ethernet11 Ethernet35 Ethernet59 +e21-2 d2-floor Ethernet12 Ethernet36 Ethernet60 +e23-1 d2-floor Ethernet13 Ethernet37 Ethernet61 +e23-2 d2-floor Ethernet14 Ethernet38 Ethernet62 +e25-1 d2-floor Ethernet15 Ethernet39 Ethernet63 +e25-2 d2-floor Ethernet16 Ethernet40 Ethernet64 +e27-3 d4-floor Ethernet1 Ethernet25 Ethernet49 +e27-4 d4-floor Ethernet2 Ethernet26 Ethernet50 +e27-1 d3-floor Ethernet1 Ethernet25 Ethernet49 +e27-2 d3-floor Ethernet2 Ethernet26 Ethernet50 +e29-3 d4-floor Ethernet3 Ethernet27 Ethernet51 +e29-4 d4-floor Ethernet4 Ethernet28 Ethernet52 +e29-1 d3-floor Ethernet3 Ethernet27 Ethernet51 +e29-2 d3-floor Ethernet4 Ethernet28 Ethernet52 +e31-3 d4-floor Ethernet5 Ethernet29 Ethernet53 +e31-4 d4-floor Ethernet6 Ethernet30 Ethernet54 +e31-1 d3-floor Ethernet5 Ethernet29 Ethernet53 +e31-2 d3-floor Ethernet6 Ethernet30 Ethernet54 +e33-3 d4-floor Ethernet7 Ethernet31 Ethernet55 +e33-4 d4-floor Ethernet8 Ethernet32 Ethernet56 +e33-1 d3-floor Ethernet7 Ethernet31 Ethernet55 +e33-2 d3-floor Ethernet8 Ethernet32 Ethernet56 +e35-1 d3-floor Ethernet9 Ethernet33 Ethernet57 +e35-2 d3-floor Ethernet10 Ethernet34 Ethernet58 +e37-1 d3-floor Ethernet11 Ethernet35 Ethernet59 +e37-2 d3-floor Ethernet12 Ethernet36 Ethernet60 +e39-1 d3-floor Ethernet13 Ethernet37 Ethernet61 +e39-2 d3-floor Ethernet14 Ethernet38 Ethernet62 +e41-1 d3-floor Ethernet15 Ethernet39 Ethernet63 +e41-2 d3-floor Ethernet16 Ethernet40 Ethernet64 diff --git a/planning/patchlist.txt.distrosort b/planning/patchlist.txt.distrosort index d3f1ddf..d48fc76 100644 --- a/planning/patchlist.txt.distrosort +++ b/planning/patchlist.txt.distrosort @@ -1,85 +1,50 @@ -e1-3 d1.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e1-4 d1.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e3-3 d1.floor mge-0/0/24 mge-2/0/24 # multirate -e3-4 d1.floor mge-0/0/25 mge-2/0/25 # multirate -e5-3 d1.floor mge-0/0/26 mge-2/0/26 # multirate -e5-4 d1.floor mge-0/0/27 mge-2/0/27 # multirate -e7-3 d1.floor mge-0/0/28 mge-2/0/28 # multirate -e7-4 d1.floor mge-0/0/29 mge-2/0/29 # multirate -e9-3 d1.floor mge-0/0/30 mge-2/0/30 # multirate -e9-4 d1.floor mge-0/0/31 mge-2/0/31 # multirate -e1-1 d2.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e1-2 d2.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e3-1 d2.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e3-2 d2.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e5-1 d2.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e5-2 d2.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e7-1 d2.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e7-2 d2.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e9-1 d2.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e9-2 d2.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e17-3 d3.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e17-4 d3.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e19-3 d3.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e19-4 d3.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e21-3 d3.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e21-4 d3.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e23-3 d3.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e23-4 d3.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e25-3 d3.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e25-4 d3.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e27-3 d3.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e27-4 d3.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e29-3 d3.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e29-4 d3.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e31-3 d3.floor ge-0/0/14 ge-1/0/14 ge-2/0/14 -e31-4 d3.floor ge-0/0/15 ge-1/0/15 ge-2/0/15 -e11-1 d4.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e13-1 d4.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e15-1 d4.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e17-1 d4.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e17-2 d4.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e19-1 d4.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e19-2 d4.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e21-1 d4.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e21-2 d4.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e23-1 d4.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e23-2 d4.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e25-1 d4.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e25-2 d4.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e27-1 d4.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e27-2 d4.floor ge-0/0/14 ge-1/0/14 ge-2/0/14 -e29-1 d4.floor ge-0/0/15 ge-1/0/15 ge-2/0/15 -e29-2 d4.floor ge-0/0/16 ge-1/0/16 ge-2/0/16 -e31-1 d4.floor ge-0/0/17 ge-1/0/17 ge-2/0/17 -e31-2 d4.floor ge-0/0/18 ge-1/0/18 ge-2/0/18 -e33-3 d5.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e33-4 d5.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e35-3 d5.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e35-4 d5.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e37-3 d5.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e37-4 d5.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e39-3 d5.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e39-4 d5.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e41-3 d5.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e41-4 d5.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e43-3 d5.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e43-4 d5.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e45-3 d5.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e45-4 d5.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 -e47-3 d5.floor ge-0/0/14 ge-1/0/14 ge-2/0/14 -e47-4 d5.floor ge-0/0/15 ge-1/0/15 ge-2/0/15 -e33-1 d6.floor ge-0/0/0 ge-1/0/0 ge-2/0/0 -e33-2 d6.floor ge-0/0/1 ge-1/0/1 ge-2/0/1 -e35-1 d6.floor ge-0/0/2 ge-1/0/2 ge-2/0/2 -e35-2 d6.floor ge-0/0/3 ge-1/0/3 ge-2/0/3 -e37-1 d6.floor ge-0/0/4 ge-1/0/4 ge-2/0/4 -e37-2 d6.floor ge-0/0/5 ge-1/0/5 ge-2/0/5 -e39-1 d6.floor ge-0/0/6 ge-1/0/6 ge-2/0/6 -e39-2 d6.floor ge-0/0/7 ge-1/0/7 ge-2/0/7 -e41-1 d6.floor ge-0/0/8 ge-1/0/8 ge-2/0/8 -e41-2 d6.floor ge-0/0/9 ge-1/0/9 ge-2/0/9 -e43-1 d6.floor ge-0/0/10 ge-1/0/10 ge-2/0/10 -e43-2 d6.floor ge-0/0/11 ge-1/0/11 ge-2/0/11 -e45-1 d6.floor ge-0/0/12 ge-1/0/12 ge-2/0/12 -e45-2 d6.floor ge-0/0/13 ge-1/0/13 ge-2/0/13 +e1-1 d1-floor Ethernet1 Ethernet25 Ethernet49 +e1-2 d1-floor Ethernet2 Ethernet26 Ethernet50 +e3-1 d1-floor Ethernet3 Ethernet27 Ethernet51 +e3-2 d1-floor Ethernet4 Ethernet28 Ethernet52 +e5-1 d1-floor Ethernet5 Ethernet29 Ethernet53 +e5-2 d1-floor Ethernet6 Ethernet30 Ethernet54 +e7-1 d1-floor Ethernet7 Ethernet31 Ethernet55 +e7-2 d1-floor Ethernet8 Ethernet32 Ethernet56 +e9-1 d1-floor Ethernet9 Ethernet33 Ethernet57 +e9-2 d1-floor Ethernet10 Ethernet34 Ethernet58 +e11-1 d2-floor Ethernet1 Ethernet25 Ethernet49 +e11-2 d2-floor Ethernet2 Ethernet26 Ethernet50 +e13-1 d2-floor Ethernet3 Ethernet27 Ethernet51 +e13-2 d2-floor Ethernet4 Ethernet28 Ethernet52 +e15-1 d2-floor Ethernet5 Ethernet29 Ethernet53 +e15-2 d2-floor Ethernet6 Ethernet30 Ethernet54 +e17-1 d2-floor Ethernet7 Ethernet31 Ethernet55 +e17-2 d2-floor Ethernet8 Ethernet32 Ethernet56 +e19-1 d2-floor Ethernet9 Ethernet33 Ethernet57 +e19-2 d2-floor Ethernet10 Ethernet34 Ethernet58 +e21-1 d2-floor Ethernet11 Ethernet35 Ethernet59 +e21-2 d2-floor Ethernet12 Ethernet36 Ethernet60 +e23-1 d2-floor Ethernet13 Ethernet37 Ethernet61 +e23-2 d2-floor Ethernet14 Ethernet38 Ethernet62 +e25-1 d2-floor Ethernet15 Ethernet39 Ethernet63 +e25-2 d2-floor Ethernet16 Ethernet40 Ethernet64 +e27-1 d3-floor Ethernet1 Ethernet25 Ethernet49 +e27-2 d3-floor Ethernet2 Ethernet26 Ethernet50 +e29-1 d3-floor Ethernet3 Ethernet27 Ethernet51 +e29-2 d3-floor Ethernet4 Ethernet28 Ethernet52 +e31-1 d3-floor Ethernet5 Ethernet29 Ethernet53 +e31-2 d3-floor Ethernet6 Ethernet30 Ethernet54 +e33-1 d3-floor Ethernet7 Ethernet31 Ethernet55 +e33-2 d3-floor Ethernet8 Ethernet32 Ethernet56 +e35-1 d3-floor Ethernet9 Ethernet33 Ethernet57 +e35-2 d3-floor Ethernet10 Ethernet34 Ethernet58 +e37-1 d3-floor Ethernet11 Ethernet35 Ethernet59 +e37-2 d3-floor Ethernet12 Ethernet36 Ethernet60 +e39-1 d3-floor Ethernet13 Ethernet37 Ethernet61 +e39-2 d3-floor Ethernet14 Ethernet38 Ethernet62 +e41-1 d3-floor Ethernet15 Ethernet39 Ethernet63 +e41-2 d3-floor Ethernet16 Ethernet40 Ethernet64 +e27-3 d4-floor Ethernet1 Ethernet25 Ethernet49 +e27-4 d4-floor Ethernet2 Ethernet26 Ethernet50 +e29-3 d4-floor Ethernet3 Ethernet27 Ethernet51 +e29-4 d4-floor Ethernet4 Ethernet28 Ethernet52 +e31-3 d4-floor Ethernet5 Ethernet29 Ethernet53 +e31-4 d4-floor Ethernet6 Ethernet30 Ethernet54 +e33-3 d4-floor Ethernet7 Ethernet31 Ethernet55 +e33-4 d4-floor Ethernet8 Ethernet32 Ethernet56 diff --git a/planning/planning.cpp b/planning/planning.cpp index faa614c..4d37e20 100644 --- a/planning/planning.cpp +++ b/planning/planning.cpp @@ -34,10 +34,10 @@ #include <string> #include <queue> -#define NUM_DISTRO 6 -#define NUM_ROWS 41 +#define NUM_DISTRO 4 +#define NUM_ROWS 21 #define SWITCHES_PER_ROW 4 -#define PORTS_PER_DISTRO 31 +#define PORTS_PER_DISTRO 32 #define TRUNCATE_METRIC 1 #define EXTENSION_COST 70 @@ -158,9 +158,9 @@ struct VerticalGap { // After row 20: 4.0m+0.1m slack = 1.7m cost // After row 29: 3.6m+0.1m slack = 1.3m cost vector<VerticalGap> vertical_gaps = { - { 12, 23 }, - { 20, 17 }, - { 29, 13 }, + { 5, 50 }, + { 13, 50 }, + { 29, 50 }, }; class Planner { @@ -254,6 +254,7 @@ Inventory Planner::find_inventory(Switch from_where, int distro) inv.num_10m = _INF; } + // distro0-2 shouldn't cross the mid //if ((distro_placements[distro] >= 0) == (from_where.num >= 2)) { // inv.horiz_gap_crossings = 0; @@ -271,7 +272,7 @@ Inventory Planner::find_inventory(Switch from_where, int distro) //} // Gap over the scene - if ((abs(distro_placements[distro]) <= 12) == (from_where.row >= 13)) { + if ((abs(distro_placements[distro]) <= 14) == (from_where.row >= 14)) { inv.vert_chasm_crossings = 1; } @@ -332,15 +333,16 @@ void Planner::logprintf(const char *fmt, ...) string distro_name(unsigned distro) { char buf[16]; - sprintf(buf, "d%d.floor", distro+1); + sprintf(buf, "d%d-floor", distro+1); return buf; } string port_name(unsigned distro, unsigned portnum) { char buf[16]; - int distros[] = { 0, 1, 2 }; // must equal the number of switches in distro-stack - sprintf(buf, "ge-%u/0/%u", distros[portnum / 48], (portnum % 48)); + //int distros[] = { 0, 1, 2 }; // must equal the number of switches in distro-stack + //sprintf(buf, "ge-%u/0/%u", distros[portnum / 48], (portnum % 48)); + sprintf(buf, "Ethernet%u", (portnum + 1)); return buf; } @@ -349,53 +351,26 @@ void Planner::init_switches() switches.clear(); for (unsigned i = 1; i <= NUM_ROWS; ++i) { - // No seats here for TG23 - if (i >= 1 && i <= 8) { - // switches.push_back(Switch(i,0)); - // switches.push_back(Switch(i,1)); - // switches.push_back(Switch(i,2)); - // switches.push_back(Switch(i,3)); - } - - if (i >= 8 && i <= 12) { - switches.push_back(Switch(i, 0)); - switches.push_back(Switch(i, 1)); - switches.push_back(Switch(i, 2)); - switches.push_back(Switch(i, 3)); + // row 1 to 10 + if (i >= 1 && i <= 5) { + switches.push_back(Switch(i,0)); + switches.push_back(Switch(i,1)); } - - // 1 1/2 rader motsatt av scenen. - if (i >= 18 && i <= 20) { - switches.push_back(Switch(i, 0)); - //switches.push_back(Switch(i, 1)); - //switches.push_back(Switch(i, 2)); - //switches.push_back(Switch(i, 3)); - } - - if (i >= 21 && i <= 28) { + // row 11 to 26 + if (i >= 6 && i <= 13) { switches.push_back(Switch(i, 0)); switches.push_back(Switch(i, 1)); - switches.push_back(Switch(i, 2)); - switches.push_back(Switch(i, 3)); } - - if (i >= 30 && i <= 36) { - switches.push_back(Switch(i, 0)); - switches.push_back(Switch(i, 1)); - switches.push_back(Switch(i, 2)); - switches.push_back(Switch(i, 3)); - } - - // No seats here for TG23 - if (i >= 37 && i <= 41) { - //switches.push_back(Switch(i,0)); - //switches.push_back(Switch(i,1)); - if (i == 37) { - switches.push_back(Switch(i,2)); - switches.push_back(Switch(i,3)); - } - } - + // row 27 to 42 - upper + if (i >= 14 && i <= 17) { + switches.push_back(Switch(i, 2)); + switches.push_back(Switch(i, 3)); + } + // row 27 to 42 - lower + if (i >= 14 && i <= 21) { + switches.push_back(Switch(i, 0)); + switches.push_back(Switch(i, 1)); + } } } @@ -469,7 +444,7 @@ void Planner::construct_graph(const vector<Switch> &switches, Graph *g) strcpy(g->source_node.name, "source"); strcpy(g->sink_node.name, "sink"); for (unsigned i = 0; i < NUM_DISTRO; ++i) { - sprintf(g->distro_nodes[i].name, "s%d.floor", i); + sprintf(g->distro_nodes[i].name, "s%d-floor", i); } for (unsigned i = 0; i < switches.size(); ++i) { sprintf(g->switch_nodes[i].name, "switch%d", i); @@ -569,7 +544,7 @@ void Planner::print_switch(const Graph &g, int i, int distro) return; } if (distro == -1) { - logprintf("[%u;22m- ", distro + 32); + logprintf(";22m- ", distro + 32); #if TRUNCATE_METRIC logprintf("(XXXXX) (XXXX)"); #else @@ -577,9 +552,9 @@ void Planner::print_switch(const Graph &g, int i, int distro) #endif } else { if(distro >= 6) - logprintf("[%u;1m%u ", distro + 32 - 7, distro+1); + logprintf(";1m%u ", distro + 32 - 7, distro+1); else - logprintf("[%u;22m%u ", distro + 32, distro+1); + logprintf(";22m%u ", distro + 32, distro+1); int this_distance = find_distance(switches[i], distro); @@ -636,15 +611,15 @@ int Planner::do_work(int distro_placements[NUM_DISTRO]) for (int d = 0; d < NUM_DISTRO; ++d) { if (int(row) == distro_placements[d]) { if(d >= 6) - sprintf(distro_marker_left, "[%u;1m*", d + 32 - 7); + sprintf(distro_marker_left, ";1m*", d + 32 - 7); else - sprintf(distro_marker_left, "[%u;22m*", d + 32); + sprintf(distro_marker_left, ";22m*", d + 32); } if (int(row) == -distro_placements[d]) { if(d >= 6) - sprintf(distro_marker_right, "[%u;22m*", d + 32 - 7); + sprintf(distro_marker_right, ";22m*", d + 32 - 7); else - sprintf(distro_marker_right, "[%u;1m*", d + 32); + sprintf(distro_marker_right, ";1m*", d + 32); } } @@ -660,7 +635,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO]) } // Print row header. - logprintf("[31;22m%2u (%2u-%2u) ", row, row * 2 - 1, row * 2 + 0); + logprintf("%2u (%2u-%2u) ", row, row * 2 - 1, row * 2 + 0); for (unsigned num = 0; num < SWITCHES_PER_ROW; ++num) { const auto distro_it = switches_to_distros.find(switch_indexes[num]); @@ -685,7 +660,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO]) } } } - logprintf("[%u;22m\n", 37); + logprintf(";22m\n", 37); #if OUTPUT_FILES FILE *patchlist = fopen("patchlist.txt", "w"); @@ -710,8 +685,8 @@ int Planner::do_work(int distro_placements[NUM_DISTRO]) switches[i].row * 2 - 1, switches[i].num + 1, distro_name(distro).c_str(), port_name(distro, port_num).c_str(), - port_name(distro, port_num + 48).c_str(), - port_name(distro, port_num + 96).c_str() + port_name(distro, port_num + 24).c_str(), + port_name(distro, port_num + 48).c_str() // if we have 4 switches in a distro-stack //port_name(distro, port_num + 144).c_str() ); @@ -761,7 +736,7 @@ int Planner::do_work(int distro_placements[NUM_DISTRO]) for (int i = 0; i < NUM_DISTRO; ++i) { Edge *e = g.source_node.edges[i]; - logprintf("Remaining ports on d%d.floor: %d\n", i+1, e->capacity - e->flow); + logprintf("Remaining ports on d%d-floor: %d\n", i+1, e->capacity - e->flow); } return total_cost; } |