Pol

Represents a polynomial from F_2[X].

Members

Aliases

Base
alias Base = ulong

Undocumented in source.

Functions

benchmarkPolDeg
void benchmarkPolDeg()

Undocumented in source. Be warned that the author may not have intended to support it.

benchmarkPolDiv
void benchmarkPolDiv()

Undocumented in source. Be warned that the author may not have intended to support it.

benchmarkPolDivMod
void benchmarkPolDivMod()

Undocumented in source. Be warned that the author may not have intended to support it.

benchmarkPolGetRandom
void benchmarkPolGetRandom()

Undocumented in source. Be warned that the author may not have intended to support it.

benchmarkPolIrreducible
void benchmarkPolIrreducible()

Undocumented in source. Be warned that the author may not have intended to support it.

benchmarkPolMod
void benchmarkPolMod()

Undocumented in source. Be warned that the author may not have intended to support it.

expand
string expand()

Returns the string representation of the polynomial x.

mulMod
Pol mulMod(Pol f, Pol g)

Computes this*f mod g.

opBinary
Pol opBinary(Pol y)

Returns this+y.

opBinary
Pol opBinary(Pol y)

Returns this*y. When an overflow occurs, throws an exception.

opBinary
Pol opBinary(Pol d)

Returns the integer division result this / d.

opBinary
Pol opBinary(Pol d)

Returns the remainder of this / d.

parseBin
Pol parseBin(string s)

Undocumented in source. Be warned that the author may not have intended to support it.

toString
string toString()

Returns the coefficients in hex.

Properties

deg
int deg [@property getter]

Returns the degree of the polynomial. If this is zero, -1 is returned.

irreducible
bool irreducible [@property getter]

Returns true iff x is irreducible over F_2. This function uses Ben Or's reducibility test. For details see "Tests and Constructions of Irreducible Polynomials over Finite Fields".

Static functions

derive
Pol derive(R source)

Returns an irreducible polynomial of degree 53 (largest prime number below 64-8) by reading bytes from source. There are (2^53-2/53) irreducible polynomials of degree 53 in F_2[X], c.f. Michael O. Rabin (1981): "Fingerprinting by Random Polynomials", page 4. If no polynomial could be found in one million tries, an error is returned.

divMod
Pol[2] divMod(Pol x, Pol d)

Returns quotient and remainder from division [x / d, x % d], see https://en.wikipedia.org/wiki/Division_algorithm

gcd
Pol gcd(Pol x, Pol f)

Computes the Greatest Common Divisor of x and f.

getRandom
Pol getRandom()

Returns a new random irreducible polynomial of degree 53 using the default rndGen as source. It is equivalent to calling derive(generate!(() => uniform!ubyte)).

Variables

value
Base value;

Undocumented in source.

Meta