HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ubuntu-s-2vcpu-4gb-amd-sfo3-01 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User: root (0)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/src/linux-headers-6.8.0-71/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 {
	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