#ifndef RC_POLYNOMIAL_H
#define RC_POLYNOMIAL_H
#ifdef __cplusplus
extern "C" {
#endif
#include <rc/math/vector.h>
int rc_poly_print(rc_vector_t v);
int rc_poly_conv(rc_vector_t a, rc_vector_t b, rc_vector_t* c);
int rc_poly_power(rc_vector_t a, int n, rc_vector_t* b);
int rc_poly_add(rc_vector_t a, rc_vector_t b, rc_vector_t* c);
int rc_poly_add_inplace(rc_vector_t* a, rc_vector_t b);
int rc_poly_subtract(rc_vector_t a, rc_vector_t b, rc_vector_t* c);
int rc_poly_subtract_inplace(rc_vector_t* a, rc_vector_t b);
int rc_poly_differentiate(rc_vector_t a, int d, rc_vector_t* b);
int rc_poly_divide(rc_vector_t n, rc_vector_t d, rc_vector_t* div, rc_vector_t* rem);
int rc_poly_butter(int N, double wc, rc_vector_t* b);
#ifdef __cplusplus
}
#endif
#endif