linux/include/linux/polynomial.h

/* 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 {};

/*
 * struct polynomial - a polynomial descriptor
 * @total_divider: total data divider.
 * @terms: polynomial terms, last term must have degree of 0
 */
struct polynomial {};

long polynomial_calc(const struct polynomial *poly, long data);

#endif