17 lines
1.0 KiB
C
17 lines
1.0 KiB
C
#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);
|