|
void | BPU_printGf2xMat (const BPU_T_GF2_16x_Matrix *in) |
|
void | BPU_printGf2xPoly (const BPU_T_GF2_16x_Poly *p, const BPU_T_Math_Ctx *math_ctx) |
| BPU_printGf2xPoly print GF2x polynomial. More...
|
|
void | BPU_printGf2xVec (const BPU_T_GF2_16x_Vector *v) |
| BPU_printGf2xVec print GF2x vector. More...
|
|
BPU_T_GF2_16x | BPU_gf2xMulMod (BPU_T_GF2_16x a, BPU_T_GF2_16x b, BPU_T_GF2_16x mod) |
| Multiplication over Galois field, modulus mod. More...
|
|
BPU_T_GF2_16x | BPU_gf2xPowerModT (BPU_T_GF2_16x a, int e, const BPU_T_Math_Ctx *math_ctx) |
| E-th power of a. It uses precomputed log and exp tables. More...
|
|
int | BPU_gf2xMatMul (BPU_T_GF2_16x_Matrix *x, const BPU_T_GF2_16x_Matrix *a, const BPU_T_GF2_16x_Matrix *b, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xVecMulMat (BPU_T_GF2_16x_Vector *out, const BPU_T_GF2_16x_Vector *x, const BPU_T_GF2_16x_Matrix *mat, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyAdd (BPU_T_GF2_16x_Poly *out, const BPU_T_GF2_16x_Poly *a, const BPU_T_GF2_16x_Poly *b) |
|
void | BPU_gf2xPolyDiv (BPU_T_GF2_16x_Poly *q, BPU_T_GF2_16x_Poly *r, const BPU_T_GF2_16x_Poly *a, const BPU_T_GF2_16x_Poly *b, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyMul (BPU_T_GF2_16x_Poly *out, const BPU_T_GF2_16x_Poly *a, const BPU_T_GF2_16x_Poly *b, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyShr (BPU_T_GF2_16x_Poly *a, int n) |
| Shift polynomial right, it is like a div x^n. More...
|
|
void | BPU_gf2xPolyShl (BPU_T_GF2_16x_Poly *a, int n) |
| Shift polynomial left, it is like a mul 1/x^n. More...
|
|
void | BPU_gf2xPolyPower (BPU_T_GF2_16x_Poly *a, int e, const BPU_T_Math_Ctx *math_ctx) |
| Calculate power of polynomial. More...
|
|
void | BPU_gf2xPolyMulEl (BPU_T_GF2_16x_Poly *a, BPU_T_GF2_16x el, const BPU_T_Math_Ctx *math_ctx) |
| Multiplication polynomial over GF2_16x and element from GF2_16x. More...
|
|
void | BPU_gf2xPolyMod (BPU_T_GF2_16x_Poly *out, const BPU_T_GF2_16x_Poly *a, const BPU_T_GF2_16x_Poly *mod, const BPU_T_Math_Ctx *math_ctx) |
| Calculate reminder of a. Example a mod b = reminder. More...
|
|
void | BPU_gf2xMatRoot (BPU_T_GF2_16x_Matrix *out, const BPU_T_GF2_16x_Poly *mod, const BPU_T_Math_Ctx *math_ctx) |
|
BPU_T_GF2_16x | BPU_gf2xRoot (BPU_T_GF2_16x element, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyRoot (BPU_T_GF2_16x_Poly *out, const BPU_T_GF2_16x_Poly *poly, const BPU_T_GF2_16x_Poly *mod, const BPU_T_Math_Ctx *math_ctx) |
| BPU_gf2xPolyRoot calculate root of given polynomial over GF2x. More...
|
|
void | BPU_gf2xPolyCopy (BPU_T_GF2_16x_Poly *dest, const BPU_T_GF2_16x_Poly *src) |
| Copy Polynomial. More...
|
|
int | BPU_gf2xGetDeg (BPU_T_GF2_32x pol) |
| Get degree of polynomial over GF2. More...
|
|
int | BPU_gf2xPolyGetDeg (BPU_T_GF2_16x_Poly *poly) |
| Get degree of polynomial over GF2x. More...
|
|
int | BPU_gf2xMatPermute (BPU_T_GF2_16x_Matrix *out, const BPU_T_GF2_16x_Matrix *m, const BPU_T_Perm_Vector *permutation) |
|
int | BPU_gf2xMatConvertToGf2Mat (BPU_T_GF2_Matrix *out, const BPU_T_GF2_16x_Matrix *m, int deg) |
|
BPU_T_GF2_16x | BPU_gf2xPolyEval (const BPU_T_GF2_16x_Poly *poly, const BPU_T_GF2_16x x, const BPU_T_Math_Ctx *math_ctx) |
| Evaluate polynomial over GF2^m with x. More...
|
|
int | BPU_gf2xPolyExtEuclid (BPU_T_GF2_16x_Poly *d, BPU_T_GF2_16x_Poly *s, BPU_T_GF2_16x_Poly *t, const BPU_T_GF2_16x_Poly *a, const BPU_T_GF2_16x_Poly *b, int end_deg, const BPU_T_Math_Ctx *math_ctx) |
| Extended Euclidean to find greatest common divisor and Bézout coefficients s, t, where gcd(a, b) = d = a*s + b*t. More...
|
|
int | BPU_gf2xPolyCmp (const BPU_T_GF2_16x_Poly *p1, const BPU_T_GF2_16x_Poly *p2) |
|
int | BPU_gf2xPolyIrredTest (const BPU_T_GF2_16x_Poly *p, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyInv (BPU_T_GF2_16x_Poly *out, const BPU_T_GF2_16x_Poly *a, const BPU_T_GF2_16x_Poly *mod, const BPU_T_Math_Ctx *math_ctx) |
| Get inverse polynomial over GF2_16x. More...
|
|
BPU_T_GF2_16x | BPU_gf2xPolyMakeMonic (BPU_T_GF2_16x_Poly *a, const BPU_T_Math_Ctx *math_ctx) |
| Make from polynomial monic polynomial. More...
|
|
void | BPU_gf2xMatInsertPoly (BPU_T_GF2_16x_Matrix *mat, const BPU_T_GF2_16x_Poly *poly, int i) |
|
void | BPU_gf2xPolyToVec (BPU_T_GF2_16x_Vector *vec, const BPU_T_GF2_16x_Poly *poly, int len) |
|
void | BPU_gf2xMatGEM (BPU_T_GF2_16x_Matrix *mat, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xSwap (BPU_T_GF2_16x *a, BPU_T_GF2_16x *b) |
|
void | BPU_gf2xMatSwapRows (BPU_T_GF2_16x_Matrix *mat, int i, int j) |
|
void | BPU_gf2xMatMulElRow (BPU_T_GF2_16x_Matrix *mat, const BPU_T_GF2_16x element, int i, const BPU_T_Math_Ctx *math_ctx) |
|
int | BPU_gf2xMatFindPivot (const BPU_T_GF2_16x_Matrix *mat, int index) |
|
BPU_T_GF2_16x | BPU_gf2xGetPseudoInv (const BPU_T_GF2_16x a, const BPU_T_GF2_16x res, const BPU_T_Math_Ctx *math_ctx) |
| Get GF2_16x element which is a * return = res. More...
|
|
void | BPU_gf2xMatXorRows (BPU_T_GF2_16x_Matrix *mat, int index, int j, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xVecMulEl (BPU_T_GF2_16x_Vector *vec, BPU_T_GF2_16x element, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xVecToPoly (BPU_T_GF2_16x_Poly *poly, const BPU_T_GF2_16x_Vector *vec) |
|
void | BPU_gf2xMatClearCol (BPU_T_GF2_16x_Matrix *mat, int index, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyGenRandom (BPU_T_GF2_16x_Poly *p, int t, const BPU_T_Math_Ctx *math_ctx) |
|
void | BPU_gf2xPolyGenGoppa (BPU_T_GF2_16x_Poly *p, int t, const BPU_T_Math_Ctx *math_ctx) |
|
Extended Euclidean to find greatest common divisor and Bézout coefficients s, t, where gcd(a, b) = d = a*s + b*t.
Extended euclidian to find greatest common divisor and Bézout coefficients s, t, where gcd(a, b) = d = a*s + b*t. You can specify degegree, when will it ends, deg(d) > end_deg. Polynomials d, s, t will be allocated inside function. After work should be freed using BPU_freePoly().
- Parameters
-
d[out] | greatest common divisor |
s[out] | Bézout coefficients |
t[out] | Bézout coefficients |
a[in] | input polynomial |
b[in] | input polynomial |
end_deg[in] | it will ends, when deg(devider) <= end_deg |
math_ctx[in] | arithmetic data structure, initialized galois field |
- Returns
- 0
Definition at line 545 of file gf2x.c.