pub unsafe fn dtgsen(
ijob: &[i32],
wantq: &[i32],
wantz: &[i32],
select: &[i32],
n: i32,
a: &mut [f64],
lda: i32,
b: &mut [f64],
ldb: i32,
alphar: &mut f64,
alphai: &mut f64,
beta: &mut f64,
q: &mut [f64],
ldq: i32,
z: &mut [f64],
ldz: i32,
m: &mut i32,
pl: &mut [f64],
pr: &mut [f64],
dif: &mut f64,
work: &mut [f64],
lwork: i32,
iwork: &mut [i32],
liwork: i32,
info: &mut i32,
)