FP4

Kind: global class
this: {FP4}

new FP4()

Creates an instance of FP4

fP4.reduce()

Reduces all components of possibly unreduced FP4 mod Modulus

Kind: instance method of FP4
this: {FP4}

fP4.norm()

Normalises the components of an FP4

Kind: instance method of FP4
this: {FP4}

fP4.iszilch()

Tests for FP4 equal to zero

Kind: instance method of FP4
this: {FP4}

fP4.isunity()

Tests for FP4 equal to unity

Kind: instance method of FP4
this: {FP4}

fP4.cmove(g, d)

Conditional copy of FP4 number

Kind: instance method of FP4
this: {FP4}

ParamDescription
gFP4 instance
dcopy depends on this value

fP4.isreal()

test is w real? That is in a+ib test b is zero

Kind: instance method of FP4
this: {FP4}

fP4.real()

extract real part a

Kind: instance method of FP4
this: {FP4}

fP4.geta()

extract a from this

Kind: instance method of FP4
this: {FP4}

fP4.getb()

extract b from this

Kind: instance method of FP4
this: {FP4}

fP4.equals(x)

Tests for equality of two FP4s

Kind: instance method of FP4
this: {FP4}

ParamDescription
xFP4 instance to compare

fP4.copy(x)

Copy FP4 to another FP4

Kind: instance method of FP4
this: {FP4}

ParamDescription
xFP4 instance to be copied

fP4.zero()

Set FP4 to zero

Kind: instance method of FP4
this: {FP4}

fP4.one(x)

Set FP4 to unity

Kind: instance method of FP4
this: {FP4}

ParamDescription
xFP4 instance to be set to one

fP4.set(c, d)

Set FP4 from two FP2 values

Kind: instance method of FP4
this: {FP4}

ParamDescription
cFP2 instance
dFP2 instance

fP4.seta(c)

Set FP4 from one FP2 value

Kind: instance method of FP4
this: {FP4}

ParamDescription
cFP2 instance

fP4.neg()

Negation of FP4

Kind: instance method of FP4
this: {FP4}

fP4.conj()

Conjugation of FP4

Kind: instance method of FP4
this: {FP4}

fP4.nconj()

Negative conjugation of FP4

Kind: instance method of FP4
this: {FP4}

fP4.add(x)

addition of two FP4s

Kind: instance method of FP4
this: {FP4}

ParamDescription
xFP4 instance

fP4.sub(x)

subtraction of two FP4s

Kind: instance method of FP4
this: {FP4}

ParamDescription
xFP4 instance

fP4.pmul(s)

Multiplication of an FP4 by an FP8

Kind: instance method of FP4
this: {FP4}

ParamDescription
sFP8 instance

fP4.imul(s)

Multiplication of an FP4 by an integer

Kind: instance method of FP4
this: {FP4}

ParamDescription
sinteger multiplier

fP4.sqr()

Fast Squaring of an FP4

Kind: instance method of FP4
this: {FP4}

fP4.mul(y)

Full unconditional Multiplication of two FP4s

Kind: instance method of FP4
this: {FP4}

ParamDescription
yFP4 instance, the multiplier

fP4.toString()

convert to hex string

Kind: instance method of FP4
this: {FP4}

fP4.inverse()

Inverting an FP4

Kind: instance method of FP4
this: {FP4}

fP4.times_i()

multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))

Kind: instance method of FP4
this: {FP4}

fP4.frob(f)

Raises an FP4 to the power of the internal modulus p, using the Frobenius

Kind: instance method of FP4
this: {FP4}

ParamDescription
fModulus

fP4.pow(e)

Raises an FP4 to the power of a BIG

Kind: instance method of FP4
this: {FP4}

ParamDescription
eBIG instance exponent

fP4.xtr_A(w, y, z)

Calculates the XTR addition function r=w*x-conj(x)*y+z

Kind: instance method of FP4
this: {FP4}

ParamDescription
wFP4 instance
yFP4 instance
zFP4 instance

fP4.xtr_D()

Calculates the XTR doubling function r=x^2-2*conj(x)

Kind: instance method of FP4
this: {FP4}

fP4.xtr_pow(n)

Calculates FP4 trace of an FP4 raised to the power of a BIG number

Kind: instance method of FP4
this: {FP4}

ParamDescription
nBig number

fP4.xtr_pow2()

Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP4s

Kind: instance method of FP4
this: {FP4}

fP4.div2()

Divide an FP4 by 2

Kind: instance method of FP4
this: {FP4}

fP4.div_i()

Divide FP4 number by QNR

Kind: instance method of FP4
this: {FP4}

fP4.div_2i()

Divide an FP4 by QNR/2

Kind: instance method of FP4
this: {FP4}

fP4.qmul(s)

Multiplication of an FP4 by an FP

Kind: instance method of FP4
this: {FP4}

ParamDescription
sFP multiplier

fP4.sqrt()

Calculate square root of an FP4

Kind: instance method of FP4
this: {FP4}