use crate::{
integer::Z,
macros::unsafe_passthrough::{unsafe_getter, unsafe_setter},
};
use flint3_sys::{fmpz, fmpz_clear};
unsafe_getter!(Z, value, fmpz);
unsafe_setter!(Z, value, fmpz, fmpz_clear);
#[cfg(test)]
mod test_get_fmpz {
use super::Z;
#[test]
#[allow(unused_mut)]
fn availability() {
let mut integer = Z::from(1);
let mut fmpz_int = unsafe { integer.get_fmpz() };
assert_eq!(&1, fmpz_int);
}
}
#[cfg(test)]
mod test_set_fmpz {
use super::Z;
use flint3_sys::fmpz;
#[test]
#[allow(unused_mut)]
fn availability_and_modification() {
let mut integer = Z::from(1);
let b: fmpz = 2;
unsafe { integer.set_fmpz(b) };
assert_eq!(Z::from(2), integer);
}
}