Skip to main content

FP8

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