1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
//! Links to `echelonform.h` use libc; use crate::misc::Rci; use crate::mzd::Mzd; extern "C" { /// (Reduced) row echelon form /// /// A: matrix /// full: return the reduced row echelon form, not only upper /// triangular form. /// /// Return: Rank of A pub fn mzd_echelonize(a: *mut Mzd, full: libc::c_int) -> Rci; /// (Reduced) row echelon form using PLUQ factorisation /// /// A: matrix /// full: return the reduced row echelon form, not only upper /// triangular form. /// /// See `mzd_pluq()` /// /// Return: Rank of A pub fn mzd_echelonize_pluq(a: *mut Mzd, full: libc::c_int) -> Rci; /// Matrix elimination using the method of the four russians /// /// A: matrix to be reduced /// full: return the reduced row echelon form, not only upper triangular form /// k: M4RI parameter, set 0 for auto-choose /// /// Return: rank of A pub fn mzd_echelonize_m4ri(a: *mut Mzd, full: libc::c_int, k: libc::c_int) -> Rci; }