blu 0.2.1

LU factorization with dynamic Markowitz search and columnwise threshold pivoting
Documentation
// Copyright (C) 2016-2018 ERGO-Code
// Copyright (C) 2022-2023 Richard Lincoln

use crate::LUInt;

pub(crate) enum Task {
    NoTask,
    Singletons,
    SetupBump,
    FactorizeBump,
    BuildFactors,
}

impl Default for Task {
    fn default() -> Self {
        Self::Singletons
    }
}

pub(crate) fn iswap(x: &mut [LUInt], i: usize, j: usize) {
    let t = x[i];
    x[i] = x[j];
    x[j] = t;
}

pub(crate) fn fswap(x: &mut [f64], i: usize, j: usize) {
    let t = x[i];
    x[i] = x[j];
    x[j] = t;
}