moveSubtree method

void moveSubtree(
  1. Node? wm,
  2. Node wp,
  3. double shift
)

Implementation

void moveSubtree(Node? wm, Node wp, double shift) {
  var wpNodeData = getNodeData(wp)!;
  var wmNodeData = getNodeData(wm)!;
  var subtrees = wpNodeData.number - wmNodeData.number;
  wpNodeData.change = (wpNodeData.change - shift / subtrees);
  wpNodeData.shift = (wpNodeData.shift + shift);
  wmNodeData.change = (wmNodeData.change + shift / subtrees);
  wpNodeData.prelim = (wpNodeData.prelim + shift);
  wpNodeData.modifier = (wpNodeData.modifier + shift);
}