public class Util
extends java.lang.Object
Constructor and Description |
---|
Util() |
Modifier and Type | Method and 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 . |
public static int invert(int n, int modulus)
public static int pow(int a, int b, int modulus)
public static long pow(long a, int b, long modulus)
public static TernaryPolynomial generateRandomTernary(int N, int numOnes, int numNegOnes, boolean sparse, java.security.SecureRandom random)
N
- numOnes
- numNegOnes
- sparse
- whether to create a SparseTernaryPolynomial
or DenseTernaryPolynomial
public static int[] generateRandomTernary(int N, int numOnes, int numNegOnes, java.security.SecureRandom random)
N
- numOnes
- numNegOnes
- public static boolean is64BitJVM()
true
if 64-bit support detected, false
otherwisepublic static byte[] readFullLength(java.io.InputStream is, int length) throws java.io.IOException
InputStream
.
If there are not enough bytes in the stream, an IOException
is thrown.is
- length
- length
java.io.IOException