Documentation of 'cc.redberry.core.combinatorics.IntTuplesPort' Java class
IntTuplesPort
cc.redberry.core.combinatorics

Class IntTuplesPort

  • All Implemented Interfaces:
    IntCombinatorialPort, OutputPort<int[]>


    public final class IntTuplesPort
    extends java.lang.Object
    implements IntCombinatorialPort
    This class allows to iterate over all N-tuples (not necessary to be distinct), which can be chosen from N arrays of integers of the form arrayi = [0, 1, 2, ..., Ki].

    For example, if a set of arrays length is {Ki} = [2,3,2], then the following tuples will be produced
        arr      lastUpdateDepth
     [0, 0, 0]          0
     [0, 0, 1]          2
     [0, 1, 0]          1
     [0, 1, 1]          2
     [0, 2, 0]          1
     [0, 2, 1]          2
     [1, 0, 0]          0
     [1, 0, 1]          2
     [1, 1, 0]          1
     [1, 1, 1]          2
     [1, 2, 0]          1
     [1, 2, 1]          2
     

    This class is implemented via output port pattern and the calculation of the next tuple occurs only on the invocation of take().

    Note: method take() returns the same reference on each invocation. So, if it is needed not only to obtain the information from take(), but also save the result, it is necessary to clone the returned array.

    Since:
    1.0
    • Constructor Detail

      • IntTuplesPort

        public IntTuplesPort(int... upperBounds)
    • Method Detail

      • take

        public int[] take()
        Description copied from interface: IntCombinatorialPort
        Calculates and returns the next combination or null, if no more combinations exist.
        Specified by:
        take in interface IntCombinatorialPort
        Specified by:
        take in interface OutputPort<int[]>
        Returns:
        the next combination or null, if no more combinations exist
      • getLastUpdateDepth

        public int getLastUpdateDepth()
      • getReference

        public int[] getReference()
        Description copied from interface: IntCombinatorialPort
        Returns the reference to the current iteration element.
        Specified by:
        getReference in interface IntCombinatorialPort
        Returns:
        the reference to the current iteration element

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.