use crate::*;
use flint_sys::fq_default_poly::*;
use inertia_algebra::ops::*;
impl_cmp! {
eq
FinFldPoly
{
fn eq(&self, rhs: &FinFldPoly) -> bool {
unsafe {
self.context() == rhs.context() &&
fq_default_poly_equal(
self.as_ptr(),
rhs.as_ptr(),
self.ctx_as_ptr()
) != 0
}
}
}
}
impl_unop_unsafe! {
ctx
FinFldPoly
Neg {neg}
NegAssign {neg_assign}
fq_default_poly_neg
}
impl_binop_unsafe! {
ctx
FinFldPoly, FinFldPoly, FinFldPoly
Add {add}
AddAssign {add_assign}
AddFrom {add_from}
AssignAdd {assign_add}
fq_default_poly_add;
Sub {sub}
SubAssign {sub_assign}
SubFrom {sub_from}
AssignSub {assign_sub}
fq_default_poly_sub;
Mul {mul}
MulAssign {mul_assign}
MulFrom {mul_from}
AssignMul {assign_mul}
fq_default_poly_mul;
}