コード例 #1
0
        public void Uncoarsen(IEnumerable <IPartition> partitions, IPartitionRefiner refiner)
        {
            logger.Info("Uncoarsening starts");
            // TODO make check faster
            while (partitions.SelectMany(p => p.Nodes).OfType <ISuperNode>().Any())
            {
                // pop last level of supernodes in place
                partitions.ForEach(p => p.Inflate());
                if (refiner != null)
                {
                    refiner.Refine(partitions);
                }
            }

            logger.Info("Uncoarsening finished.");
        }
コード例 #2
0
 public PartitionManager(ICoarsener coarsener, IPartitioner partitioner, IPartitionRefiner refiner)
 {
     this.partitioner = partitioner;
     this.coarsener   = coarsener;
     this.refiner     = refiner;
 }