Files
kunlun/import/wq_vtb/inc/polynomial.h

17 lines
1.0 KiB
C
Raw Permalink Normal View History

2024-09-28 14:24:04 +08:00
#include "rs_common.h"
#include "field.h"
polynomial_t polynomial_create(uint16_t order);
void polynomial_destroy(polynomial_t polynomial);
void polynomial_mul(field_t field, polynomial_t l, polynomial_t r, polynomial_t res);
void polynomial_mod(field_t field, polynomial_t dividend, polynomial_t divisor, polynomial_t mod);
void polynomial_formal_derivative(field_t field, polynomial_t poly, polynomial_t der);
field_element_t polynomial_eval(field_t field, polynomial_t poly, field_element_t val);
field_element_t polynomial_eval_lut(field_t field, polynomial_t poly, const field_logarithm_t *val_exp);
field_element_t polynomial_eval_log_lut(field_t field, polynomial_t poly_log, const field_logarithm_t *val_exp);
void polynomial_build_exp_lut(field_t field, field_element_t val, uint16_t order, field_logarithm_t *val_exp);
polynomial_t polynomial_init_from_roots(field_t field, uint16_t nroots, field_element_t *roots, polynomial_t poly, polynomial_t *scratch);
polynomial_t polynomial_create_from_roots(field_t field, uint16_t nroots, field_element_t *roots);