readme.tree_mgt

来自「fortran并行计算包」· TREE_MGT 代码 · 共 54 行

TREE_MGT
54
字号
TreeFloor is a SortedSet( or SortedMap ) of TreeNode          whose TreeNodeID.depth are the same.TreeTrunk is a List of TreeFloors.boolean TreeFloor.coversBarely( TimeBoundingBox WinTimeRange ){    return    TreeFloor.firstTimeBox().contains( WinTimeRange.earliest_time )           && TreeFloor.lastTimeBox().contains( WinTimeRange.latest_time ); }Define TreeFloor TreeTrunk.Prune( TimeBoundingBox WinTimeRange ){    for ( TreeFloor  = lowest_TreeFloor;          TreeFloor <= top_TreeFloor;          TreeFloor++ ) {        if ( TreeFloor.coversBarely( WinTimeRange )            return TreeFloor        else {            do {                if ( TreeFloor.firstTimeBox()                     .contains( WinTimeRange.earliest_time ) )                    TreeFloor.remove( TreeFloor.first() );                if ( TreeFloor.lastTimeBox()                     .contains( WinTimeRange.latest_time ) )                    TreeFloor.remove( TreeFloor.last() );            } while ( ! TreeFloor.coversBarely( WinTimeRange ) )        }    }    return null;   // if the code gets here, it means error}O, Assume the TreeTrunk's TreeRoot at depth Dmax, and the leafs are all at   depth 0.  The TreeTrunk is initialized to a depth D_0, with all TreeNode   being read from the disk into the TreeTrunk.A, Zoom In: WinTimeRange is contracted.   -- Prune all the TreeFloors from lowest_TreeFloor to top_TreeFloor      till a TreeFloor which barely covers() WinTimeRange.      i.e. calling TreeTrunk.Prune().   -- grows from the lowest_TreeFloor to 1 more level downward.B, Zoom Out: WinTimeRange is enlarged.   -- if the lowest_TreeFloor covers() WinTimeRange, do nothing.   -- if not, search from the lowest_TreeFloor to the top_TreeFloor for      the TreeFloor that barely covers() WinTimeRange   -- grows from that TreeFloor to 1 more level downward.   -- remove all the TreeFloors under the last floor grown.C, Scroll: WinTimeRange has same width but different ends.   -- search from the lowest_TreeFloor to the top_TreeFloor for      the first TreeFloor that totally covers() WinTimeRange.   -- grows from that TreeFloor to 1 more level downward.

⌨️ 快捷键说明

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