Class DeltaSteppingShortestPath.MaxEdgeWeightTask
java.lang.Object
java.util.concurrent.ForkJoinTask<Double>
java.util.concurrent.RecursiveTask<Double>
org.jgrapht.alg.shortestpath.DeltaSteppingShortestPath.MaxEdgeWeightTask
- All Implemented Interfaces:
Serializable, Future<Double>
- Enclosing class:
DeltaSteppingShortestPath<V,E>
Is used during the algorithm to compute maximum edge weight of the
BaseShortestPathAlgorithm.graph. Apart from
computing the maximal edge weight in the graph the task also checks if there exist edges with
negative weights.- Since:
- January 2018
-
Nested Class Summary
Nested classes/interfaces inherited from interface Future
Future.State -
Field Summary
FieldsModifier and TypeFieldDescription(package private) longAmount of edges which are processed in parallel.(package private) Spliterator<E> Is used to split a collection and create new recursive tasks during the computation. -
Constructor Summary
ConstructorsConstructorDescriptionMaxEdgeWeightTask(Spliterator<E> spliterator, long loadBalancing) Constructs a new instance for the given spliterator and loadBalancing -
Method Summary
Methods inherited from class RecursiveTask
exec, getRawResult, setRawResultMethods inherited from class ForkJoinTask
adapt, adapt, adapt, adaptInterruptible, adaptInterruptible, adaptInterruptible, cancel, compareAndSetForkJoinTaskTag, complete, completeExceptionally, exceptionNow, fork, get, get, getException, getForkJoinTaskTag, getPool, getQueuedTaskCount, getSurplusQueuedTaskCount, helpQuiesce, inForkJoinPool, invoke, invokeAll, invokeAll, invokeAll, isCancelled, isCompletedAbnormally, isCompletedNormally, isDone, join, peekNextLocalTask, pollNextLocalTask, pollSubmission, pollTask, quietlyComplete, quietlyInvoke, quietlyJoin, quietlyJoin, quietlyJoinUninterruptibly, reinitialize, resultNow, setForkJoinTaskTag, state, tryUnfork
-
Field Details
-
spliterator
Spliterator<E> spliteratorIs used to split a collection and create new recursive tasks during the computation. -
loadBalancing
long loadBalancingAmount of edges which are processed in parallel.
-
-
Constructor Details
-
MaxEdgeWeightTask
MaxEdgeWeightTask(Spliterator<E> spliterator, long loadBalancing) Constructs a new instance for the given spliterator and loadBalancing- Parameters:
spliterator- spliteratorloadBalancing- loadBalancing
-
-
Method Details
-
compute
Computes maximum edge weight. If amount of edges inspliteratoris less thanloadBalancing, then computation is performed sequentially. If not, thespliteratoris used to split the collection and then two new child tasks are created.- Specified by:
computein classRecursiveTask<Double>- Returns:
- max edge weight
-