Skip to main content

FP4

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{"}"}