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

    Constructors 
    Constructor Description
    MaxList​(List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>> input)  
  • 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)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MaxList

      public MaxList​(List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>> input)
  • 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:
      buildComputation in interface 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>