mpdec 4.0.1

wrapper for libmpdec math library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::{Decimal, context::get_context, error::MPDecimalError};

impl Decimal {
    pub fn checked_sqrt(&self) -> Result<Decimal, MPDecimalError> {
        let result = Decimal::checked_new()?;

        let mut status: u32 = 0;

        unsafe {
            mpdec_sys::mpd_qsqrt(result.inner, self.inner, &mut *get_context(), &mut status);
        }

        MPDecimalError::from_status(status)?;

        Ok(result)
    }
}