FP8

Kind: global class
this: {FP4}

new FP8(c, d)

Creates an instance of FP8

ParamDescription
cFP8 / FP4 instance
dFP4 instance

fP8.reduce()

Reduces all components of possibly unreduced FP8 mod Modulus

Kind: instance method of FP8
this: {FP8}

fP8.norm()

Normalises the components of an FP8

Kind: instance method of FP8
this: {FP8}

fP8.iszilch()

Tests for FP8 equal to zero

Kind: instance method of FP8
this: {FP8}

fP8.isunity()

Tests for FP8 equal to unity

Kind: instance method of FP8
this: {FP8}

fP8.cmove(g, d)

Conditional copy of FP8 number

Kind: instance method of FP8
this: {FP8}

ParamDescription
gFP8 instance
dcopy depends on this value

fP8.isreal()

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

Kind: instance method of FP8
this: {FP8}

fP8.real()

extract real part a

Kind: instance method of FP8
this: {FP8}

fP8.geta()

extract a from this

Kind: instance method of FP8
this: {FP8}

fP8.getb()

extract b from this

Kind: instance method of FP8
this: {FP8}

fP8.equals(x)

Tests for equality of two FP8s

Kind: instance method of FP8
this: {FP8}

ParamDescription
xFP8 instance to compare

fP8.copy(x)

Copy FP8 to another FP8

Kind: instance method of FP8
this: {FP8}

ParamDescription
xFP8 instance to be copied

fP8.zero()

Set FP8 to zero

Kind: instance method of FP8
this: {FP8}

fP8.one(x)

Set FP8 to unity

Kind: instance method of FP8
this: {FP8}

ParamDescription
xFP8 instance to be set to one

fP8.set(c, d)

Set FP8 from two FP4 values

Kind: instance method of FP8
this: {FP8}

ParamDescription
cFP4 instance
dFP4 instance

fP8.seta(c)

Set FP8 from one FP4 value

Kind: instance method of FP8
this: {FP8}

ParamDescription
cFP4 instance

fP8.neg()

Negation of FP8

Kind: instance method of FP8
this: {FP8}

fP8.conj()

Conjugation of FP8

Kind: instance method of FP8
this: {FP8}

fP8.nconj()

Negative conjugation of FP8

Kind: instance method of FP8
this: {FP8}

fP8.add(x)

addition of two FP8s

Kind: instance method of FP8
this: {FP8}

ParamDescription
xFP8 instance

fP8.sub(x)

subtraction of two FP8s

Kind: instance method of FP8
this: {FP8}

ParamDescription
xFP8 instance

fP8.pmul(s)

Multiplication of an FP8 by an FP8

Kind: instance method of FP8
this: {FP8}

ParamDescription
sFP8 instance

fP8.imul(s)

Multiplication of an FP8 by a small integer

Kind: instance method of FP8
this: {FP8}

ParamDescription
sinteger

fP8.sqr()

Fast Squaring of an FP8

Kind: instance method of FP8
this: {FP8}

fP8.mul(y)

Full unconditional Multiplication of two FP8s

Kind: instance method of FP8
this: {FP8}

ParamDescription
yFP8 instance, the multiplier

fP8.toString()

convert to hex string

Kind: instance method of FP8
this: {FP8}

fP8.inverse()

Inverting an FP8

Kind: instance method of FP8
this: {FP8}

fP8.times_i()

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

Kind: instance method of FP8
this: {FP8}

fP8.times_i2()

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

Kind: instance method of FP8
this: {FP8}

fP8.frob(f)

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

Kind: instance method of FP8
this: {FP8}

ParamDescription
fModulus

fP8.pow(e)

Raises an FP8 to the power of a BIG

Kind: instance method of FP8
this: {FP8}

ParamDescription
eBIG instance exponent

fP8.xtr_A(w, y, z)

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

Kind: instance method of FP8
this: {FP8}

ParamDescription
wFP8 instance
yFP8 instance
zFP8 instance

fP8.xtr_D()

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

Kind: instance method of FP8
this: {FP8}

fP8.xtr_pow(n)

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

Kind: instance method of FP8
this: {FP8}

ParamDescription
nBig number

fP8.xtr_pow2()

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

Kind: instance method of FP8
this: {FP8}

fP8.div2()

Divide an FP8 by 2

Kind: instance method of FP8
this: {FP8}

fP8.div_i()

Divide FP8 number by QNR

Kind: instance method of FP8
this: {FP8}

fP8.div_i2()

Divide an FP8 by QNR twice

Kind: instance method of FP8
this: {FP8}

fP8.div_2i()

Divide an FP8 by QNR/2

Kind: instance method of FP8
this: {FP8}

fP8.qmul(s)

Multiplication of an FP8 by an FP2

Kind: instance method of FP8
this: {FP8}

ParamDescription
sFP2 multiplier

fP8.tmul(s)

Multiplication of an FP8 by an FP

Kind: instance method of FP8
this: {FP8}

ParamDescription
sFP multiplier

fP8.sqrt()

Calculate square root of an FP8

Kind: instance method of FP8
this: {FP8}