FP8
FP8
Kind: global class
this: {"{"}FP4{"}"}
- FP8
- new FP8(c, d)
- .reduce()
- .norm()
- .iszilch()
- .isunity()
- .cmove(g, d)
- .isreal()
- .real()
- .geta()
- .getb()
- .equals(x)
- .copy(x)
- .zero()
- .one(x)
- .set(c, d)
- .seta(c)
- .neg()
- .conj()
- .nconj()
- .add(x)
- .sub(x)
- .pmul(s)
- .imul(s)
- .sqr()
- .mul(y)
- .toString()
- .inverse()
- .times_i()
- .times_i2()
- .frob(f)
- .pow(e)
- .xtr_A(w, y, z)
- .xtr_D()
- .xtr_pow(n)
- .xtr_pow2()
- .div2()
- .div_i()
- .div_i2()
- .div_2i()
- .qmul(s)
- .tmul(s)
- .sqrt()
new FP8(c, d)
Creates an instance of FP8
Param | Description |
---|---|
c | FP8 / FP4 instance |
d | FP4 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{"}"}
Param | Description |
---|---|
g | FP8 instance |
d | copy 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{"}"}
Param | Description |
---|---|
x | FP8 instance to compare |
fP8.copy(x)
Copy FP8 to another FP8
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
x | FP8 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{"}"}
Param | Description |
---|---|
x | FP8 instance to be set to one |
fP8.set(c, d)
Set FP8 from two FP4 values
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
c | FP4 instance |
d | FP4 instance |
fP8.seta(c)
Set FP8 from one FP4 value
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
c | FP4 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{"}"}
Param | Description |
---|---|
x | FP8 instance |
fP8.sub(x)
subtraction of two FP8s
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
x | FP8 instance |
fP8.pmul(s)
Multiplication of an FP8 by an FP8
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
s | FP8 instance |
fP8.imul(s)
Multiplication of an FP8 by a small integer
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
s | integer |
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{"}"}
Param | Description |
---|---|
y | FP8 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{"}"}
Param | Description |
---|---|
f | Modulus |
fP8.pow(e)
Raises an FP8 to the power of a BIG
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
e | BIG 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{"}"}
Param | Description |
---|---|
w | FP8 instance |
y | FP8 instance |
z | FP8 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{"}"}
Param | Description |
---|---|
n | Big 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{"}"}
Param | Description |
---|---|
s | FP2 multiplier |
fP8.tmul(s)
Multiplication of an FP8 by an FP
Kind: instance method of FP8
this: {"{"}FP8{"}"}
Param | Description |
---|---|
s | FP multiplier |
fP8.sqrt()
Calculate square root of an FP8
Kind: instance method of FP8
this: {"{"}FP8{"}"}