singe-cusolver 0.1.0-alpha.5

Safe Rust wrappers for the NVIDIA cuSOLVER dense and sparse solver library.
Documentation
use crate::error::{Error, Result};

pub fn to_i32(value: usize, name: &str) -> Result<i32> {
    i32::try_from(value).map_err(|_| Error::OutOfRange { name: name.into() })
}

pub fn to_u64(value: usize, name: &str) -> Result<u64> {
    u64::try_from(value).map_err(|_| Error::OutOfRange { name: name.into() })
}

pub fn to_i64(value: usize, name: &str) -> Result<i64> {
    i64::try_from(value).map_err(|_| Error::OutOfRange { name: name.into() })
}

pub fn to_usize(value: impl TryInto<usize>, name: &str) -> Result<usize> {
    value
        .try_into()
        .map_err(|_| Error::OutOfRange { name: name.into() })
}