Trait polynomial_ops::PolynomialNd
source · pub trait PolynomialNd<X, Y, const N: usize>: Sized {
// Required method
fn evaluate_as_polynomial_nd(self, x: [X; N]) -> Y;
}Required Methods§
sourcefn evaluate_as_polynomial_nd(self, x: [X; N]) -> Y
fn evaluate_as_polynomial_nd(self, x: [X; N]) -> Y
Evaluates a multivariable polynomial
Example
#![feature(generic_const_exprs)]
use polynomial_ops::*;
let p: [[u64; 3]; 3] = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for x in 0..256
{
for y in 0..256
{
assert_eq!(
p.evaluate_as_polynomial_nd([x, y]),
1 + y*2 + y*y*3 + x*(4 + y*5 + y*y*6) + x*x*(7 + y*8 + y*y*9)
);
}
}Object Safety§
This trait is not object safe.