1234567891011121314151617181920212223242526272829303132333435 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
- */
- #ifndef _POLYNOMIAL_H
- #define _POLYNOMIAL_H
- /*
- * struct polynomial_term - one term descriptor of a polynomial
- * @deg: degree of the term.
- * @coef: multiplication factor of the term.
- * @divider: distributed divider per each degree.
- * @divider_leftover: divider leftover, which couldn't be redistributed.
- */
- struct polynomial_term {
- unsigned int deg;
- long coef;
- long divider;
- long divider_leftover;
- };
- /*
- * struct polynomial - a polynomial descriptor
- * @total_divider: total data divider.
- * @terms: polynomial terms, last term must have degree of 0
- */
- struct polynomial {
- long total_divider;
- struct polynomial_term terms[];
- };
- long polynomial_calc(const struct polynomial *poly, long data);
- #endif
|