Package dk.alexandra.fresco.stat.utils
Class MaxList
java.lang.Object
dk.alexandra.fresco.stat.utils.MaxList
- All Implemented Interfaces:
dk.alexandra.fresco.framework.builder.Computation<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>
public class MaxList extends Object implements dk.alexandra.fresco.framework.builder.Computation<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>
Given a list X = [x0, ..., xn-1] with n a power of 2,
this method returns a pair [max(X), i : xi = max(X)]. In the case of ties, the highest
index is chosen. The algorithm is in log n rounds each with a total of n-1 comparisons where n is
the number of inputs.
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>>buildComputation(dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric builder)static dk.alexandra.fresco.framework.builder.Computation<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.lib.fixed.SFixed>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>withSFixed(List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.lib.fixed.SFixed>> input)
-
Constructor Details
-
Method Details
-
withSFixed
public static dk.alexandra.fresco.framework.builder.Computation<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.lib.fixed.SFixed>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric> withSFixed(List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.lib.fixed.SFixed>> input) -
buildComputation
public dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>> buildComputation(dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric builder)- Specified by:
buildComputationin interfacedk.alexandra.fresco.framework.builder.Computation<dk.alexandra.fresco.framework.util.Pair<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>,dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>
-