Class Util


  • public class Util
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Util()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static TernaryPolynomial generateRandomTernary​(int N, int numOnes, int numNegOnes, boolean sparse, java.security.SecureRandom random)
      Generates a "sparse" or "dense" polynomial containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.
      static int[] generateRandomTernary​(int N, int numOnes, int numNegOnes, java.security.SecureRandom random)
      Generates an array containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.
      static int invert​(int n, int modulus)
      Calculates the inverse of n mod modulus
      static boolean is64BitJVM()
      Takes an educated guess as to whether 64 bits are supported by the JVM.
      static int pow​(int a, int b, int modulus)
      Calculates a^b mod modulus
      static long pow​(long a, int b, long modulus)
      Calculates a^b mod modulus
      static byte[] readFullLength​(java.io.InputStream is, int length)
      Reads a given number of bytes from an InputStream.
      • Methods inherited from class java.lang.Object

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

      • Util

        public Util()
    • Method Detail

      • invert

        public static int invert​(int n,
                                 int modulus)
        Calculates the inverse of n mod modulus
      • pow

        public static int pow​(int a,
                              int b,
                              int modulus)
        Calculates a^b mod modulus
      • pow

        public static long pow​(long a,
                               int b,
                               long modulus)
        Calculates a^b mod modulus
      • generateRandomTernary

        public static TernaryPolynomial generateRandomTernary​(int N,
                                                              int numOnes,
                                                              int numNegOnes,
                                                              boolean sparse,
                                                              java.security.SecureRandom random)
        Generates a "sparse" or "dense" polynomial containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.
        Parameters:
        N -
        numOnes -
        numNegOnes -
        sparse - whether to create a SparseTernaryPolynomial or DenseTernaryPolynomial
        Returns:
        a ternary polynomial
      • generateRandomTernary

        public static int[] generateRandomTernary​(int N,
                                                  int numOnes,
                                                  int numNegOnes,
                                                  java.security.SecureRandom random)
        Generates an array containing numOnes ints equal to 1, numNegOnes int equal to -1, and the rest equal to 0.
        Parameters:
        N -
        numOnes -
        numNegOnes -
        Returns:
        an array of integers
      • is64BitJVM

        public static boolean is64BitJVM()
        Takes an educated guess as to whether 64 bits are supported by the JVM.
        Returns:
        true if 64-bit support detected, false otherwise
      • readFullLength

        public static byte[] readFullLength​(java.io.InputStream is,
                                            int length)
                                     throws java.io.IOException
        Reads a given number of bytes from an InputStream. If there are not enough bytes in the stream, an IOException is thrown.
        Parameters:
        is -
        length -
        Returns:
        an array of length length
        Throws:
        java.io.IOException