Interface Mpi

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int compareTo​(Mpi other)
      Compare this with another multipartite integer.
      Mpi complement​(Mpi other)
      Like subtract() but when we know that other fits piece-wise into this.
      Mpi[] div2()
      Computes a kind of division by 2 of this.
      int firstNonZeroPartIndex()  
      int getCardinality()  
      int getDim()  
      int getElem​(int index)
      Returns the entry of the given index, with 0<=index
      Mpi maxNextPart​(Mpi firstPart, Mpi lastPart)
      Special operation computing the biggest allowed subvalue of this that is not greater than lastPart and not greater than this-firstPart.
      void setElem​(int index, int value)
      Sets the entry of the given index, with 0<=index
      Mpi[] subtract​(Mpi other)
      Returns the pair [lower, upper] of consecutive subvalues of this (according to the ordering relation) such that lower + other <= this and upper + other >= this.
    • Method Detail

      • getDim

        int getDim()
        Returns:
        dimension of the multipartite number, it's "partiteness"
      • getCardinality

        int getCardinality()
        Returns:
        total number of entries = the sum of the elements of this multipartite number
      • getElem

        int getElem​(int index)
        Returns the entry of the given index, with 0<=index
        Parameters:
        index -
        Returns:
        entry at index 'index'
      • setElem

        void setElem​(int index,
                     int value)
        Sets the entry of the given index, with 0<=index
        Parameters:
        index -
        value -
      • firstNonZeroPartIndex

        int firstNonZeroPartIndex()
        Returns:
        the index of the first non-zero entry
      • subtract

        Mpi[] subtract​(Mpi other)
        Returns the pair [lower, upper] of consecutive subvalues of this (according to the ordering relation) such that lower + other <= this and upper + other >= this.
        Parameters:
        other -
        Returns:
        the lower and upper bound of this - other
      • complement

        Mpi complement​(Mpi other)
        Like subtract() but when we know that other fits piece-wise into this. That means faster ;)
        Parameters:
        other - a multipartite integer that has no element greater than the corresponding element of this
        Returns:
        this - other
      • div2

        Mpi[] div2()
        Computes a kind of division by 2 of this. The result is a pair of [lower, upper] values with lower + upper = this (element-wise addition) and lower<=upper.
        Returns:
        [lower, upper]
      • maxNextPart

        Mpi maxNextPart​(Mpi firstPart,
                        Mpi lastPart)
        Special operation computing the biggest allowed subvalue of this that is not greater than lastPart and not greater than this-firstPart.
        Parameters:
        firstPart -
        lastPart -
        Returns:
        min(lastPart, lower(this - firstPart))
      • compareTo

        int compareTo​(Mpi other)
        Compare this with another multipartite integer. The first element that differs decides, i.e. [2,0,0] is bigger than [1,2,3].
        Specified by:
        compareTo in interface Comparable<Mpi>