get_nexthop_load.m

来自「best routing protocol」· M 代码 · 共 48 行

M
48
字号
function routing_load = get_nexthop_load(routing_nexthop, ...					 test_pairs)N = length(routing_nexthop);if nargin<2 | length(test_pairs)==0  p = 0;  fromloop = 1:N;else  [p, tmp] = size(test_pairs);  fromloop = test_pairs(:,1)';endrouting_load = zeros(N,1);count = 0;for from = fromloop  if p==0    toloop = 1:N;  else    toloop = test_pairs(count+1,2);  end    for to=toloop    count = count +1;    next = from;    tmp = 0;    seen_nodes = zeros(N,1);    if routing_nexthop(from,to)<0      break    end    routing_load(from) = routing_load(from)+1;    while next~=to       previous = next;      next = routing_nexthop(next, to);      %if sum(ismember(current_nodes, next))>0      if next<0 	fprintf('DEAD next<0\n');	%print_route(routing_nexthop, from, to);	break      end      if seen_nodes(next)	fprintf('DEAD loop\n');	%print_route(routing_nexthop, from, to);	break      end      seen_nodes(next) = 1;      routing_load(next) = routing_load(next)+1;    end  endend

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?