use crate::{bignumber::BigNumber};
impl BigNumber {
pub fn pow(&self, exp: &BigNumber) -> BigNumber {
BigNumber {
value: self.value.powf(&exp.value),
}
}
pub fn powi(&self, exp: i32) -> BigNumber {
BigNumber {
value: self.value.powi(exp.into()),
}
}
}
#[cfg(test)]
mod tests {
use crate::to_bn_safe;
#[test]
fn test_powi() {
assert_eq!(
to_bn_safe!("2").powi(12).to_string(),
"4096",
);
}
}