use crate::{Integer, BinQuadForm};
use flint_sys::fmpz::fmpz_set;
impl<T: Into<Integer>> From<[T; 3]> for BinQuadForm {
fn from(src: [T; 3]) -> BinQuadForm {
match src {
[a, b, c] => {
let mut res = BinQuadForm::default();
unsafe {
fmpz_set(&mut res.inner.a[0], a.into().as_ptr());
fmpz_set(&mut res.inner.b[0], b.into().as_ptr());
fmpz_set(&mut res.inner.c[0], c.into().as_ptr());
}
res
}
}
}
}
impl From<[&Integer; 3]> for BinQuadForm {
fn from(src: [&Integer; 3]) -> BinQuadForm {
match src {
[a, b, c] => {
let mut res = BinQuadForm::default();
unsafe {
fmpz_set(&mut res.inner.a[0], a.as_ptr());
fmpz_set(&mut res.inner.b[0], b.as_ptr());
fmpz_set(&mut res.inner.c[0], c.as_ptr());
}
res
}
}
}
}