12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #ifndef FP6E_H
- #define FP6E_H
- #include "fp2e.h"
- typedef struct fp6e_struct fp6e_struct_t;
- struct fp6e_struct
- {
- fp2e_t m_a;
- fp2e_t m_b;
- fp2e_t m_c;
- };
- typedef fp6e_struct_t fp6e_t[1];
- void fp6e_short_coeffred(fp6e_t rop);
- void fp6e_set(fp6e_t rop, const fp6e_t op);
- void fp6e_set_fp2e(fp6e_t rop, const fp2e_t a, const fp2e_t b, const fp2e_t c);
- void fp6e_set_str(fp6e_t rop, const char *a1, const char *a0, const char *b1, const char *b0, const char *c1, const char *c0);
- void fp6e_setone(fp6e_t rop);
- void fp6e_setzero(fp6e_t rop);
- int fp6e_iseq(const fp6e_t op1, const fp6e_t op2);
- int fp6e_isone(const fp6e_t op);
- int fp6e_iszero(const fp6e_t op);
- void fp6e_cmov(fp6e_t rop, const fp6e_t op, int c);
- void fp6e_add(fp6e_t rop, const fp6e_t op1, const fp6e_t op2);
- void fp6e_sub(fp6e_t rop, const fp6e_t op1, const fp6e_t op2);
- void fp6e_neg(fp6e_t rop, const fp6e_t op);
- void fp6e_mul(fp6e_t rop, const fp6e_t op1, const fp6e_t op2);
- void fp6e_squaredouble(fp6e_t rop, const fp6e_t op);
- void fp6e_multau(fp6e_t rop, const fp6e_t op);
- void fp6e_mul_fpe(fp6e_t rop, const fp6e_t op1, const fpe_t op2);
- void fp6e_mul_fp2e(fp6e_t rop, const fp6e_t op1, const fp2e_t op2);
- void fp6e_mul_shortfp6e(fp6e_t rop, const fp6e_t op1, const fp6e_t op2);
- void fp6e_invert(fp6e_t rop, const fp6e_t op);
- void fp6e_frobenius_p(fp6e_t rop, const fp6e_t op);
- void fp6e_frobenius_p2(fp6e_t rop, const fp6e_t op);
- void fp6e_print(FILE *outfile, const fp6e_t op);
- #endif
|