use crate::enums;
use crate::Value;
use ffi::FFI;
use types::complex::FFFI;
#[doc(alias = "gsl_linalg_LU_decomp")]
pub fn LU_decomp(a: &mut ::MatrixF64, p: &mut ::Permutation, signum: &mut i32) -> Value {
Value::from(unsafe { sys::gsl_linalg_LU_decomp(a.unwrap_unique(), p.unwrap_unique(), signum) })
}
#[doc(alias = "gsl_linalg_complex_LU_decomp")]
pub fn complex_LU_decomp(
a: &mut ::MatrixComplexF64,
p: &mut ::Permutation,
signum: &mut i32,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_LU_decomp(a.unwrap_unique(), p.unwrap_unique(), signum)
})
}
#[doc(alias = "gsl_linalg_LU_solve")]
pub fn LU_solve(
lu: &::MatrixF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_LU_solve(
lu.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_complex_LU_solve")]
pub fn complex_LU_solve(
lu: &::MatrixComplexF64,
p: &::Permutation,
b: &::VectorComplexF64,
x: &mut ::VectorComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_LU_solve(
lu.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_LU_svx")]
pub fn LU_svx(lu: &::MatrixF64, p: &::Permutation, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_LU_svx(lu.unwrap_shared(), p.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_complex_LU_svx")]
pub fn complex_LU_svx(
lu: &::MatrixComplexF64,
p: &::Permutation,
x: &mut ::VectorComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_LU_svx(lu.unwrap_shared(), p.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_LU_refine")]
pub fn LU_refine(
a: &::MatrixF64,
lu: &::MatrixF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
residual: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_LU_refine(
a.unwrap_shared(),
lu.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
residual.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_complex_LU_refine")]
pub fn complex_LU_refine(
a: &mut ::MatrixComplexF64,
lu: &::MatrixComplexF64,
p: &::Permutation,
b: &::VectorComplexF64,
x: &mut ::VectorComplexF64,
residual: &mut ::VectorComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_LU_refine(
a.unwrap_unique(),
lu.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
residual.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_LU_invert")]
pub fn LU_invert(lu: &::MatrixF64, p: &::Permutation, inverse: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_LU_invert(
lu.unwrap_shared(),
p.unwrap_shared(),
inverse.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_complex_LU_invert")]
pub fn complex_LU_invert(
lu: &::MatrixComplexF64,
p: &::Permutation,
inverse: &mut ::MatrixComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_LU_invert(
lu.unwrap_shared(),
p.unwrap_shared(),
inverse.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_LU_det")]
pub fn LU_det(lu: &mut ::MatrixF64, signum: i32) -> f64 {
unsafe { sys::gsl_linalg_LU_det(lu.unwrap_unique(), signum) }
}
#[doc(alias = "gsl_linalg_complex_LU_det")]
pub fn complex_LU_det(lu: &mut ::MatrixComplexF64, signum: i32) -> ::ComplexF64 {
unsafe { sys::gsl_linalg_complex_LU_det(lu.unwrap_unique(), signum).wrap() }
}
#[doc(alias = "gsl_linalg_LU_lndet")]
pub fn LU_lndet(lu: &mut ::MatrixF64) -> f64 {
unsafe { sys::gsl_linalg_LU_lndet(lu.unwrap_unique()) }
}
#[doc(alias = "gsl_linalg_complex_LU_lndet")]
pub fn complex_LU_lndet(lu: &mut ::MatrixComplexF64) -> f64 {
unsafe { sys::gsl_linalg_complex_LU_lndet(lu.unwrap_unique()) }
}
#[doc(alias = "gsl_linalg_LU_sgndet")]
pub fn LU_sgndet(lu: &mut ::MatrixF64, signum: i32) -> i32 {
unsafe { sys::gsl_linalg_LU_sgndet(lu.unwrap_unique(), signum) }
}
#[doc(alias = "gsl_linalg_complex_LU_sgndet")]
pub fn complex_LU_sgndet(lu: &mut ::MatrixComplexF64, signum: i32) -> ::ComplexF64 {
unsafe { sys::gsl_linalg_complex_LU_sgndet(lu.unwrap_unique(), signum).wrap() }
}
#[doc(alias = "gsl_linalg_QR_decomp")]
pub fn QR_decomp(a: &mut ::MatrixF64, tau: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_QR_decomp(a.unwrap_unique(), tau.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_QR_solve")]
pub fn QR_solve(
qr: &::MatrixF64,
tau: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_solve(
qr.unwrap_shared(),
tau.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QR_svx")]
pub fn QR_svx(qr: &::MatrixF64, tau: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_svx(qr.unwrap_shared(), tau.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_QR_lssolve")]
pub fn QR_lssolve(
qr: &::MatrixF64,
tau: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
residual: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_lssolve(
qr.unwrap_shared(),
tau.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
residual.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QR_QTvec")]
pub fn QR_QTvec(qr: &::MatrixF64, tau: &::VectorF64, v: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_QTvec(qr.unwrap_shared(), tau.unwrap_shared(), v.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_QR_Qvec")]
pub fn QR_Qvec(qr: &::MatrixF64, tau: &::VectorF64, v: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_Qvec(qr.unwrap_shared(), tau.unwrap_shared(), v.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_QR_QTmat")]
pub fn QR_QTmat(qr: &::MatrixF64, tau: &::VectorF64, v: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_QTmat(qr.unwrap_shared(), tau.unwrap_shared(), v.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_QR_Rsolve")]
pub fn QR_Rsolve(qr: &::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_Rsolve(qr.unwrap_shared(), b.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_QR_Rsvx")]
pub fn QR_Rsvx(qr: &::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_QR_Rsvx(qr.unwrap_shared(), x.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_QR_unpack")]
pub fn QR_unpack(
qr: &::MatrixF64,
tau: &::VectorF64,
q: &mut ::MatrixF64,
r: &mut ::MatrixF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_unpack(
qr.unwrap_shared(),
tau.unwrap_shared(),
q.unwrap_unique(),
r.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QR_QRsolve")]
pub fn QR_QRsolve(
q: &mut ::MatrixF64,
r: &mut ::MatrixF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_QRsolve(
q.unwrap_unique(),
r.unwrap_unique(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QR_update")]
pub fn QR_update(
q: &mut ::MatrixF64,
r: &mut ::MatrixF64,
mut w: ::VectorF64,
v: &::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QR_update(
q.unwrap_unique(),
r.unwrap_unique(),
w.unwrap_unique(),
v.unwrap_shared(),
)
})
}
#[doc(alias = "gsl_linalg_R_solve")]
pub fn R_solve(r: &::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_R_solve(r.unwrap_shared(), b.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_R_svx")]
pub fn R_svx(r: &::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_R_svx(r.unwrap_shared(), x.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_QRPT_decomp")]
pub fn QRPT_decomp(
a: &mut ::MatrixF64,
tau: &mut ::VectorF64,
p: &mut ::Permutation,
signum: &mut i32,
norm: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_decomp(
a.unwrap_unique(),
tau.unwrap_unique(),
p.unwrap_unique(),
signum,
norm.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_decomp2")]
pub fn QRPT_decomp2(
a: &::MatrixF64,
q: &mut ::MatrixF64,
r: &mut ::MatrixF64,
tau: &mut ::VectorF64,
p: &mut ::Permutation,
signum: &mut i32,
norm: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_decomp2(
a.unwrap_shared(),
q.unwrap_unique(),
r.unwrap_unique(),
tau.unwrap_unique(),
p.unwrap_unique(),
signum,
norm.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_solve")]
pub fn QRPT_solve(
qr: &::MatrixF64,
tau: &::VectorF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_solve(
qr.unwrap_shared(),
tau.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_svx")]
pub fn QRPT_svx(
qr: &::MatrixF64,
tau: &::VectorF64,
p: &::Permutation,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_svx(
qr.unwrap_shared(),
tau.unwrap_shared(),
p.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_QRsolve")]
pub fn QRPT_QRsolve(
q: &::MatrixF64,
r: &::MatrixF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_QRsolve(
q.unwrap_shared(),
r.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_update")]
pub fn QRPT_update(
q: &mut ::MatrixF64,
r: &mut ::MatrixF64,
p: &::Permutation,
w: &mut ::VectorF64,
v: &::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_update(
q.unwrap_unique(),
r.unwrap_unique(),
p.unwrap_shared(),
w.unwrap_unique(),
v.unwrap_shared(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_Rsolve")]
pub fn QRPT_Rsolve(
qr: &::MatrixF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_Rsolve(
qr.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_QRPT_Rsvx")]
pub fn QRPT_Rsvx(qr: &::MatrixF64, p: &::Permutation, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_QRPT_Rsvx(qr.unwrap_shared(), p.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_SV_decomp")]
pub fn SV_decomp(
a: &mut ::MatrixF64,
v: &mut ::MatrixF64,
s: &mut ::VectorF64,
work: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_SV_decomp(
a.unwrap_unique(),
v.unwrap_unique(),
s.unwrap_unique(),
work.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_SV_decomp_mod")]
pub fn SV_decomp_mod(
a: &mut ::MatrixF64,
x: &mut ::MatrixF64,
v: &mut ::MatrixF64,
s: &mut ::VectorF64,
work: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_SV_decomp_mod(
a.unwrap_unique(),
x.unwrap_unique(),
v.unwrap_unique(),
s.unwrap_unique(),
work.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_SV_decomp_jacobi")]
pub fn SV_decomp_jacobi(a: &mut ::MatrixF64, v: &mut ::MatrixF64, s: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_SV_decomp_jacobi(a.unwrap_unique(), v.unwrap_unique(), s.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_SV_solve")]
pub fn SV_solve(
u: &::MatrixF64,
v: &::MatrixF64,
s: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_SV_solve(
u.unwrap_shared(),
v.unwrap_shared(),
s.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_SV_leverage")]
pub fn SV_leverage(u: &::MatrixF64, h: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_SV_leverage(u.unwrap_shared(), h.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_cholesky_decomp")]
pub fn cholesky_decomp(a: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_cholesky_decomp(a.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_complex_cholesky_decomp")]
pub fn complex_cholesky_decomp(a: &mut ::MatrixComplexF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_complex_cholesky_decomp(a.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_cholesky_solve")]
pub fn cholesky_solve(cholesky: &::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_solve(
cholesky.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_complex_cholesky_solve")]
pub fn complex_cholesky_solve(
cholesky: &::MatrixComplexF64,
b: &::VectorComplexF64,
x: &mut ::VectorComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_cholesky_solve(
cholesky.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_cholesky_svx")]
pub fn cholesky_svx(cholesky: &::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_svx(cholesky.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_complex_cholesky_svx")]
pub fn complex_cholesky_svx(cholesky: &::MatrixComplexF64, x: &mut ::VectorComplexF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_cholesky_svx(cholesky.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_cholesky_invert")]
pub fn cholesky_invert(cholesky: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_cholesky_invert(cholesky.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_complex_cholesky_invert")]
pub fn complex_cholesky_invert(cholesky: &mut ::MatrixComplexF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_complex_cholesky_invert(cholesky.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_symmtd_decomp")]
pub fn symmtd_decomp(a: &mut ::MatrixF64, tau: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_symmtd_decomp(a.unwrap_unique(), tau.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_symmtd_unpack")]
pub fn symmtd_unpack(
a: &::MatrixF64,
tau: &::VectorF64,
q: &mut ::MatrixF64,
diag: &mut ::VectorF64,
subdiag: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_symmtd_unpack(
a.unwrap_shared(),
tau.unwrap_shared(),
q.unwrap_unique(),
diag.unwrap_unique(),
subdiag.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_symmtd_unpack_T")]
pub fn symmtd_unpack_T(
a: &::MatrixF64,
diag: &mut ::VectorF64,
subdiag: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_symmtd_unpack_T(
a.unwrap_shared(),
diag.unwrap_unique(),
subdiag.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_hermtd_decomp")]
pub fn hermtd_decomp(a: &mut ::MatrixComplexF64, tau: &mut ::VectorComplexF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_hermtd_decomp(a.unwrap_unique(), tau.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_hermtd_unpack")]
pub fn hermtd_unpack(
a: &::MatrixComplexF64,
tau: &::VectorComplexF64,
u: &mut ::MatrixComplexF64,
diag: &mut ::VectorF64,
subdiag: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_hermtd_unpack(
a.unwrap_shared(),
tau.unwrap_shared(),
u.unwrap_unique(),
diag.unwrap_unique(),
subdiag.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_hermtd_unpack_T")]
pub fn hermtd_unpack_T(
a: &::MatrixComplexF64,
diag: &mut ::VectorF64,
subdiag: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_hermtd_unpack_T(
a.unwrap_shared(),
diag.unwrap_unique(),
subdiag.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_hessenberg_decomp")]
pub fn hessenberg_decomp(a: &mut ::MatrixF64, tau: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_hessenberg_decomp(a.unwrap_unique(), tau.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_hessenberg_unpack")]
pub fn hessenberg_unpack(h: &mut ::MatrixF64, tau: &mut ::VectorF64, u: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_hessenberg_unpack(h.unwrap_unique(), tau.unwrap_unique(), u.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_hessenberg_unpack_accum")]
pub fn hessenberg_unpack_accum(
h: &mut ::MatrixF64,
tau: &mut ::VectorF64,
v: &mut ::MatrixF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_hessenberg_unpack_accum(
h.unwrap_unique(),
tau.unwrap_unique(),
v.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_hessenberg_set_zero")]
pub fn hessenberg_set_zero(h: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_hessenberg_set_zero(h.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_hesstri_decomp")]
pub fn hesstri_decomp(
a: &mut ::MatrixF64,
b: &mut ::MatrixF64,
u: &mut ::MatrixF64,
v: &mut ::MatrixF64,
work: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_hesstri_decomp(
a.unwrap_unique(),
b.unwrap_unique(),
u.unwrap_unique(),
v.unwrap_unique(),
work.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_bidiag_decomp")]
pub fn bidiag_decomp(
a: &mut ::MatrixF64,
tau_u: &mut ::VectorF64,
tau_v: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_bidiag_decomp(
a.unwrap_unique(),
tau_u.unwrap_unique(),
tau_v.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_bidiag_unpack")]
pub fn bidiag_unpack(
a: &mut ::MatrixF64,
tau_u: &::VectorF64,
u: &mut ::MatrixF64,
tau_v: &::VectorF64,
v: &mut ::MatrixF64,
diag: &mut ::VectorF64,
superdiag: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_bidiag_unpack(
a.unwrap_unique(),
tau_u.unwrap_shared(),
u.unwrap_unique(),
tau_v.unwrap_shared(),
v.unwrap_unique(),
diag.unwrap_unique(),
superdiag.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_bidiag_unpack2")]
pub fn bidiag_unpack2(
a: &mut ::MatrixF64,
tau_u: &mut ::VectorF64,
tau_v: &mut ::VectorF64,
v: &mut ::MatrixF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_bidiag_unpack2(
a.unwrap_unique(),
tau_u.unwrap_unique(),
tau_v.unwrap_unique(),
v.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_bidiag_unpack_B")]
pub fn bidiag_unpack_B(
a: &::MatrixF64,
diag: &mut ::VectorF64,
superdiag: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_bidiag_unpack_B(
a.unwrap_shared(),
diag.unwrap_unique(),
superdiag.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_householder_transform")]
pub fn householder_transform(v: &mut ::VectorF64) -> f64 {
unsafe { sys::gsl_linalg_householder_transform(v.unwrap_unique()) }
}
#[doc(alias = "gsl_linalg_complex_householder_transform")]
pub fn complex_householder_transform(v: &mut ::VectorComplexF64) -> ::ComplexF64 {
unsafe {
::std::mem::transmute(sys::gsl_linalg_complex_householder_transform(
v.unwrap_unique(),
))
}
}
#[doc(alias = "gsl_linalg_householder_hm")]
pub fn householder_hm(tau: f64, v: &::VectorF64, a: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_householder_hm(tau, v.unwrap_shared(), a.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_complex_householder_hm")]
pub fn complex_householder_hm(
tau: &::ComplexF64,
v: &::VectorComplexF64,
a: &mut ::MatrixComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_householder_hm(
::std::mem::transmute(*tau),
v.unwrap_shared(),
a.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_householder_mh")]
pub fn householder_mh(tau: f64, v: &::VectorF64, a: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_householder_mh(tau, v.unwrap_shared(), a.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_complex_householder_mh")]
pub fn complex_householder_mh(
tau: &::ComplexF64,
v: &::VectorComplexF64,
a: &mut ::MatrixComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_householder_mh(
::std::mem::transmute(*tau),
v.unwrap_shared(),
a.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_householder_hv")]
pub fn householder_hv(tau: f64, v: &::VectorF64, w: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_householder_hv(tau, v.unwrap_shared(), w.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_complex_householder_hv")]
pub fn complex_householder_hv(
tau: &::ComplexF64,
v: &::VectorComplexF64,
w: &mut ::VectorComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_householder_hv(
::std::mem::transmute(*tau),
v.unwrap_shared(),
w.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_HH_solve")]
pub fn HH_solve(mut a: ::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_HH_solve(a.unwrap_unique(), b.unwrap_shared(), x.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_HH_svx")]
pub fn HH_svx(mut a: ::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_HH_svx(a.unwrap_unique(), x.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_solve_tridiag")]
pub fn solve_tridiag(
diag: &::VectorF64,
e: &::VectorF64,
f: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_solve_tridiag(
diag.unwrap_shared(),
e.unwrap_shared(),
f.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_solve_symm_tridiag")]
pub fn solve_symm_tridiag(
diag: &::VectorF64,
e: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_solve_symm_tridiag(
diag.unwrap_shared(),
e.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_solve_cyc_tridiag")]
pub fn solve_cyc_tridiag(
diag: &::VectorF64,
e: &::VectorF64,
f: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_solve_cyc_tridiag(
diag.unwrap_shared(),
e.unwrap_shared(),
f.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_solve_symm_cyc_tridiag")]
pub fn solve_symm_cyc_tridiag(
diag: &::VectorF64,
e: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_solve_symm_cyc_tridiag(
diag.unwrap_shared(),
e.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[doc(alias = "gsl_linalg_balance_matrix")]
pub fn balance_matrix(a: &mut ::MatrixF64, d: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_balance_matrix(a.unwrap_unique(), d.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_decomp")]
pub fn pcholesky_decomp(a: &mut ::MatrixF64, p: &mut ::Permutation) -> Value {
Value::from(unsafe { sys::gsl_linalg_pcholesky_decomp(a.unwrap_unique(), p.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_solve")]
pub fn pcholesky_solve(
LDLT: &::MatrixF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_pcholesky_solve(
LDLT.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_svx")]
pub fn pcholesky_svx(LDLT: &::MatrixF64, p: &::Permutation, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_pcholesky_svx(LDLT.unwrap_shared(), p.unwrap_shared(), x.unwrap_unique())
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_decomp2")]
pub fn pcholesky_decomp2(A: &mut ::MatrixF64, p: &mut ::Permutation, S: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_pcholesky_decomp2(A.unwrap_unique(), p.unwrap_unique(), S.unwrap_unique())
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_solve2")]
pub fn pcholesky_solve2(
LDLT: &::MatrixF64,
p: &::Permutation,
S: &::VectorF64,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_pcholesky_solve2(
LDLT.unwrap_shared(),
p.unwrap_shared(),
S.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_svx2")]
pub fn pcholesky_svx2(
LDLT: &::MatrixF64,
p: &::Permutation,
S: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_pcholesky_svx2(
LDLT.unwrap_shared(),
p.unwrap_shared(),
S.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_invert")]
pub fn pcholesky_invert(LDLT: &::MatrixF64, p: &::Permutation, Ainv: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_pcholesky_invert(
LDLT.unwrap_shared(),
p.unwrap_shared(),
Ainv.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_pcholesky_rcond")]
pub fn pcholesky_rcond(
LDLT: &::MatrixF64,
p: &::Permutation,
work: &mut ::VectorF64,
) -> (Value, f64) {
let mut rcond = 0.;
let ret = unsafe {
sys::gsl_linalg_pcholesky_rcond(
LDLT.unwrap_shared(),
p.unwrap_shared(),
&mut rcond,
work.unwrap_unique(),
)
};
(Value::from(ret), rcond)
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_mcholesky_decomp")]
pub fn mcholesky_decomp(A: &mut ::MatrixF64, p: &mut ::Permutation, E: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_mcholesky_decomp(A.unwrap_unique(), p.unwrap_unique(), E.unwrap_unique())
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_mcholesky_solve")]
pub fn mcholesky_solve(
LDLT: &::MatrixF64,
p: &::Permutation,
b: &::VectorF64,
x: &mut ::VectorF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_mcholesky_solve(
LDLT.unwrap_shared(),
p.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_mcholesky_svx")]
pub fn mcholesky_svx(LDLT: &::MatrixF64, p: &::Permutation, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_mcholesky_svx(LDLT.unwrap_shared(), p.unwrap_shared(), x.unwrap_unique())
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_mcholesky_rcond")]
pub fn mcholesky_rcond(
LDLT: &::MatrixF64,
p: &::Permutation,
work: &mut ::VectorF64,
) -> (Value, f64) {
let mut rcond = 0.;
let ret = unsafe {
sys::gsl_linalg_mcholesky_rcond(
LDLT.unwrap_shared(),
p.unwrap_shared(),
&mut rcond,
work.unwrap_unique(),
)
};
(Value::from(ret), rcond)
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_mcholesky_invert")]
pub fn mcholesky_invert(LDLT: &::MatrixF64, p: &::Permutation, Ainv: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_mcholesky_invert(
LDLT.unwrap_shared(),
p.unwrap_shared(),
Ainv.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_cholesky_band_decomp")]
pub fn cholesky_band_decomp(A: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_cholesky_band_decomp(A.unwrap_unique()) })
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_cholesky_band_solve")]
pub fn cholesky_band_solve(LLT: &::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_band_solve(
LLT.unwrap_shared(),
b.unwrap_shared(),
x.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_cholesky_band_svx")]
pub fn cholesky_band_svx(LLT: &::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_band_svx(LLT.unwrap_shared(), x.unwrap_unique())
})
}
#[cfg(feature = "v2_7")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_7")))]
#[doc(alias = "gsl_linalg_cholesky_band_solvem")]
pub fn cholesky_band_solvem(LLT: &::MatrixF64, B: &::MatrixF64, X: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_band_solvem(
LLT.unwrap_shared(),
B.unwrap_shared(),
X.unwrap_unique(),
)
})
}
#[cfg(feature = "v2_7")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_7")))]
#[doc(alias = "gsl_linalg_cholesky_band_svxm")]
pub fn cholesky_band_svxm(LLT: &::MatrixF64, X: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_band_svxm(LLT.unwrap_shared(), X.unwrap_unique())
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_cholesky_band_invert")]
pub fn cholesky_band_invert(LLT: &::MatrixF64, Ainv: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_band_invert(LLT.unwrap_shared(), Ainv.unwrap_unique())
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_cholesky_band_unpack")]
pub fn cholesky_band_unpack(LLT: &::MatrixF64, L: &mut ::MatrixF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_cholesky_band_unpack(LLT.unwrap_shared(), L.unwrap_unique())
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_cholesky_band_rcond")]
pub fn cholesky_band_rcond(LLT: &::MatrixF64, work: &mut ::VectorF64) -> (Value, f64) {
let mut rcond = 0.;
let ret = unsafe {
sys::gsl_linalg_cholesky_band_rcond(LLT.unwrap_shared(), &mut rcond, work.unwrap_unique())
};
(Value::from(ret), rcond)
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_decomp")]
pub fn ldlt_decomp(A: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_ldlt_decomp(A.unwrap_unique()) })
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_solve")]
pub fn ldlt_solve(LDLT: &::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_ldlt_solve(LDLT.unwrap_shared(), b.unwrap_shared(), x.unwrap_unique())
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_svx")]
pub fn ldlt_svx(LDLT: &::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_ldlt_svx(LDLT.unwrap_shared(), x.unwrap_unique()) })
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_rcond")]
pub fn ldlt_rcond(LDLT: &::MatrixF64, work: &mut ::VectorF64) -> (Value, f64) {
let mut rcond = 0.;
let ret = unsafe {
sys::gsl_linalg_ldlt_rcond(LDLT.unwrap_shared(), &mut rcond, work.unwrap_unique())
};
(Value::from(ret), rcond)
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_band_decomp")]
pub fn ldlt_band_decomp(A: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_ldlt_band_decomp(A.unwrap_unique()) })
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_band_solve")]
pub fn ldlt_band_solve(LDLT: &::MatrixF64, b: &::VectorF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_ldlt_band_solve(LDLT.unwrap_shared(), b.unwrap_shared(), x.unwrap_unique())
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_band_svx")]
pub fn ldlt_band_svx(LDLT: &::MatrixF64, x: &mut ::VectorF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_ldlt_band_svx(LDLT.unwrap_shared(), x.unwrap_unique()) })
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_band_unpack")]
pub fn ldlt_band_unpack(LDLT: &::MatrixF64, L: &mut ::MatrixF64, D: &mut ::VectorF64) -> Value {
Value::from(unsafe {
sys::gsl_linalg_ldlt_band_unpack(LDLT.unwrap_shared(), L.unwrap_unique(), D.unwrap_unique())
})
}
#[cfg(feature = "v2_6")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_6")))]
#[doc(alias = "gsl_linalg_ldlt_band_rcond")]
pub fn ldlt_band_rcond(LDLT: &::MatrixF64, work: &mut ::VectorF64) -> (Value, f64) {
let mut rcond = 0.;
let ret = unsafe {
sys::gsl_linalg_ldlt_band_rcond(LDLT.unwrap_shared(), &mut rcond, work.unwrap_unique())
};
(Value::from(ret), rcond)
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_tri_upper_invert")]
pub fn tri_upper_invert(T: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_tri_upper_invert(T.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_tri_lower_invert")]
pub fn tri_lower_invert(T: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_tri_lower_invert(T.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_tri_upper_unit_invert")]
pub fn tri_upper_unit_invert(T: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_tri_upper_unit_invert(T.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_tri_lower_unit_invert")]
pub fn tri_lower_unit_invert(T: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_tri_lower_unit_invert(T.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_complex_tri_invert")]
pub fn tri_invert(
Uplo: enums::CblasUplo,
Diag: enums::CblasDiag,
T: &mut ::MatrixComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_tri_invert(Uplo.into(), Diag.into(), T.unwrap_unique())
})
}
#[doc(alias = "gsl_linalg_complex_tri_invert")]
pub fn complex_tri_invert(
Uplo: enums::CblasUplo,
Diag: enums::CblasDiag,
T: &mut ::MatrixComplexF64,
) -> Value {
Value::from(unsafe {
sys::gsl_linalg_complex_tri_invert(Uplo.into(), Diag.into(), T.unwrap_unique())
})
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_tri_LTL")]
pub fn tri_LTL(L: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_tri_LTL(L.unwrap_unique()) })
}
#[cfg(feature = "v2_2")]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_2")))]
#[doc(alias = "gsl_linalg_tri_UL")]
pub fn tri_UL(LU: &mut ::MatrixF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_tri_UL(LU.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_complex_tri_LHL")]
pub fn complex_tri_LHL(L: &mut ::MatrixComplexF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_complex_tri_LHL(L.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_complex_tri_UL")]
pub fn complex_tri_UL(LU: &mut ::MatrixComplexF64) -> Value {
Value::from(unsafe { sys::gsl_linalg_complex_tri_UL(LU.unwrap_unique()) })
}
#[doc(alias = "gsl_linalg_givens")]
pub fn givens(a: f64, b: f64) -> (f64, f64) {
let mut c = 0.;
let mut s = 0.;
unsafe { sys::gsl_linalg_givens(a, b, &mut c, &mut s) };
(c, s)
}
#[doc(alias = "gsl_linalg_givens_gv")]
pub fn givens_gv(v: &mut ::VectorF64, i: usize, j: usize, c: f64, s: f64) {
unsafe { sys::gsl_linalg_givens_gv(v.unwrap_unique(), i, j, c, s) }
}