#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum Side {
Left,
Right,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum Transposition {
No,
Transpose,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum TriangularStructure {
Upper,
Lower,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum DiagonalKind {
Unit,
NonUnit,
}
impl Side {
pub(crate) fn into_lapack_side_character(self) -> u8 {
match self {
Side::Left => b'L',
Side::Right => b'R',
}
}
}
impl TriangularStructure {
pub(crate) fn into_lapack_uplo_character(self) -> u8 {
match self {
Self::Upper => b'U',
Self::Lower => b'L',
}
}
}
impl DiagonalKind {
pub(crate) fn into_lapack_diag_character(self) -> u8 {
match self {
DiagonalKind::Unit => b'U',
DiagonalKind::NonUnit => b'N',
}
}
}