FP4
FP4
Kind: global class
this: {"{"}FP4{"}"}
- FP4
- new FP4()
- .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()
- .frob(f)
- .pow(e)
- .xtr_A(w, y, z)
- .xtr_D()
- .xtr_pow(n)
- .xtr_pow2()
- .div2()
- .div_i()
- .div_2i()
- .qmul(s)
- .sqrt()
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{"}"}
Param | Description |
---|---|
g | FP4 instance |
d | copy 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{"}"}
Param | Description |
---|---|
x | FP4 instance to compare |
fP4.copy(x)
Copy FP4 to another FP4
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
x | FP4 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{"}"}
Param | Description |
---|---|
x | FP4 instance to be set to one |
fP4.set(c, d)
Set FP4 from two FP2 values
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
c | FP2 instance |
d | FP2 instance |
fP4.seta(c)
Set FP4 from one FP2 value
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
c | FP2 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{"}"}
Param | Description |
---|---|
x | FP4 instance |
fP4.sub(x)
subtraction of two FP4s
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
x | FP4 instance |
fP4.pmul(s)
Multiplication of an FP4 by an FP8
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
s | FP8 instance |
fP4.imul(s)
Multiplication of an FP4 by an integer
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
s | integer 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{"}"}
Param | Description |
---|---|
y | FP4 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{"}"}
Param | Description |
---|---|
f | Modulus |
fP4.pow(e)
Raises an FP4 to the power of a BIG
Kind: instance method of FP4
this: {"{"}FP4{"}"}
Param | Description |
---|---|
e | BIG 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{"}"}
Param | Description |
---|---|
w | FP4 instance |
y | FP4 instance |
z | FP4 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{"}"}
Param | Description |
---|---|
n | Big 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{"}"}
Param | Description |
---|---|
s | FP multiplier |
fP4.sqrt()
Calculate square root of an FP4
Kind: instance method of FP4
this: {"{"}FP4{"}"}