package nuod:lapacke

⌘K
Ctrl+K
or
/

    Index

    Variables (0)

    This section is empty.

    Procedures (1256)
    Procedure Groups (0)

    This section is empty.

    Types

    LAPACK_C_SELECT1 ¶

    LAPACK_C_SELECT1 :: proc "c" (w: ^complex64) -> i64
    Related Procedures With Parameters

    LAPACK_C_SELECT2 ¶

    LAPACK_C_SELECT2 :: proc "c" (w: ^complex64, vl: ^complex64) -> i64
    Related Procedures With Parameters

    LAPACK_D_SELECT2 ¶

    LAPACK_D_SELECT2 :: proc "c" (ar: ^f64, ai: ^f64) -> i64
    Related Procedures With Parameters

    LAPACK_D_SELECT3 ¶

    LAPACK_D_SELECT3 :: proc "c" (ar: ^f64, ai: ^f64, b: ^f64) -> i64
    Related Procedures With Parameters

    LAPACK_S_SELECT2 ¶

    LAPACK_S_SELECT2 :: proc "c" (ar: ^f32, ai: ^f32) -> i64
    Related Procedures With Parameters

    LAPACK_S_SELECT3 ¶

    LAPACK_S_SELECT3 :: proc "c" (ar: ^f32, ai: ^f32, b: ^f32) -> i64
    Related Procedures With Parameters

    LAPACK_Z_SELECT1 ¶

    LAPACK_Z_SELECT1 :: proc "c" (w: ^complex128) -> i64
    Related Procedures With Parameters

    LAPACK_Z_SELECT2 ¶

    LAPACK_Z_SELECT2 :: proc "c" (w: ^complex128, vl: ^complex128) -> i64
    Related Procedures With Parameters

    bfloat16 ¶

    bfloat16 :: u16

    blasint ¶

    blasint :: i64
    Related Procedures With Parameters
    Related Procedures With Returns

    Constants

    LAPACK_COL_MAJOR ¶

    LAPACK_COL_MAJOR :: 102

    LAPACK_ROW_MAJOR ¶

    LAPACK_ROW_MAJOR :: 101

    LAPACK_TRANSPOSE_MEMORY_ERROR ¶

    LAPACK_TRANSPOSE_MEMORY_ERROR :: -1011

    LAPACK_WORK_MEMORY_ERROR ¶

    LAPACK_WORK_MEMORY_ERROR :: -1010

    OPENBLAS_SUPPORTED ¶

    OPENBLAS_SUPPORTED: bool : true

    Variables

    This section is empty.

    Procedures

    cbbcsd ¶

    cbbcsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	theta:         ^f32, 
    	phi:           ^f32, 
    	u1:            ^complex64, 
    	ldu1:          i64, 
    	u2:            ^complex64, 
    	ldu2:          i64, 
    	v1t:           ^complex64, 
    	ldv1t:         i64, 
    	v2t:           ^complex64, 
    	ldv2t:         i64, 
    	b11d:          ^f32, 
    	b11e:          ^f32, 
    	b12d:          ^f32, 
    	b12e:          ^f32, 
    	b21d:          ^f32, 
    	b21e:          ^f32, 
    	b22d:          ^f32, 
    	b22e:          ^f32, 
    ) -> i64 ---
     

    LAPACK 3.3.0

    cbdsqr ¶

    cbdsqr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ncvt:          i64, 
    	nru:           i64, 
    	ncc:           i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vt:            [^]complex64, 
    	ldvt:          i64, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cgbbrd ¶

    cgbbrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	ncc:           i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	pt:            [^]complex64, 
    	ldpt:          i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cgbcon ¶

    cgbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    cgbequ ¶

    cgbequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cgbequb ¶

    cgbequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cgbrfs ¶

    cgbrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	afb:           [^]complex64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cgbrfsx ¶

    cgbrfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	afb:           [^]complex64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cgbsv ¶

    cgbsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgbsvx ¶

    cgbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	afb:           [^]complex64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    	rpivot:        ^f32, 
    ) -> i64 ---

    cgbsvxx ¶

    cgbsvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	afb:           [^]complex64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cgbtrf ¶

    cgbtrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    cgbtrs ¶

    cgbtrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgebak ¶

    cgebak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	scale:         [^]f32, 
    	m:             i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    ) -> i64 ---

    cgebal ¶

    cgebal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f32, 
    ) -> i64 ---

    cgebrd ¶

    cgebrd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	tauq:          [^]complex64, 
    	taup:          [^]complex64, 
    ) -> i64 ---

    cgecon ¶

    cgecon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    cgeequ ¶

    cgeequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cgeequb ¶

    cgeequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cgees ¶

    cgees :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_C_SELECT1, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	w:             [^]complex64, 
    	vs:            [^]complex64, 
    	ldvs:          i64, 
    ) -> i64 ---

    cgeesx ¶

    cgeesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_C_SELECT1, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	w:             [^]complex64, 
    	vs:            [^]complex64, 
    	ldvs:          i64, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    cgeev ¶

    cgeev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	w:             [^]complex64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    ) -> i64 ---

    cgeevx ¶

    cgeevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	w:             [^]complex64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f32, 
    	abnrm:         ^f32, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    cgehrd ¶

    cgehrd :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgejsv ¶

    cgejsv :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobr:          u8, 
    	jobt:          u8, 
    	jobp:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	sva:           ^f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	stat:          ^f32, 
    	istat:         ^i64, 
    ) -> i64 ---

    cgelq ¶

    cgelq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	tsize:         i64, 
    ) -> i64 ---

    cgelq2 ¶

    cgelq2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgelqf ¶

    cgelqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgels ¶

    cgels :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgelsd ¶

    cgelsd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	s:             [^]f32, 
    	rcond:         f32, 
    	rank:          ^i64, 
    ) -> i64 ---

    cgelss ¶

    cgelss :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	s:             [^]f32, 
    	rcond:         f32, 
    	rank:          ^i64, 
    ) -> i64 ---

    cgelsy ¶

    cgelsy :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	jpvt:          ^i64, 
    	rcond:         f32, 
    	rank:          ^i64, 
    ) -> i64 ---

    cgemlq ¶

    cgemlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	tsize:         i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cgemqr ¶

    cgemqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	tsize:         i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cgemqrt ¶

    cgemqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	nb:            i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cgeqlf ¶

    cgeqlf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgeqp3 ¶

    cgeqp3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgeqpf ¶

    cgeqpf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgeqr ¶

    cgeqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	tsize:         i64, 
    ) -> i64 ---

    cgeqr2 ¶

    cgeqr2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgeqrf ¶

    cgeqrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgeqrfp ¶

    cgeqrfp :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgeqrt ¶

    cgeqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    cgeqrt2 ¶

    cgeqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    cgeqrt3 ¶

    cgeqrt3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    cgerfs ¶

    cgerfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cgerfsx ¶

    cgerfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cgerqf ¶

    cgerqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cgesdd ¶

    cgesdd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	vt:            [^]complex64, 
    	ldvt:          i64, 
    ) -> i64 ---

    cgesv ¶

    cgesv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgesvd ¶

    cgesvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	vt:            [^]complex64, 
    	ldvt:          i64, 
    	superb:        [^]f32, 
    ) -> i64 ---

    cgesvdq ¶

    cgesvdq :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobp:          u8, 
    	jobr:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	numrank:       ^i64, 
    ) -> i64 ---

    cgesvdx ¶

    cgesvdx :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	range:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	ns:            ^i64, 
    	s:             [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	vt:            [^]complex64, 
    	ldvt:          i64, 
    	superb:        [^]i64, 
    ) -> i64 ---

    cgesvj ¶

    cgesvj :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	sva:           ^f32, 
    	mv:            i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	stat:          ^f32, 
    ) -> i64 ---

    cgesvx ¶

    cgesvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    	rpivot:        ^f32, 
    ) -> i64 ---

    cgesvxx ¶

    cgesvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cgetf2 ¶

    cgetf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    cgetrf ¶

    cgetrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    cgetrf2 ¶

    cgetrf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    cgetri ¶

    cgetri :: proc "c" (matrix_layout: i32, n: i64, a: [^]complex64, lda: i64, ipiv: [^]i64) -> i64 ---

    cgetrs ¶

    cgetrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgetsls ¶

    cgetsls :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgetsqrhrt ¶

    cgetsqrhrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb1:           i64, 
    	nb1:           i64, 
    	nb2:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    cggbak ¶

    cggbak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	lscale:        ^f32, 
    	rscale:        ^f32, 
    	m:             i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    ) -> i64 ---

    cggbal ¶

    cggbal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f32, 
    	rscale:        ^f32, 
    ) -> i64 ---

    cgges ¶

    cgges :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_C_SELECT2, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	vsl:           ^complex64, 
    	ldvsl:         i64, 
    	vsr:           ^complex64, 
    	ldvsr:         i64, 
    ) -> i64 ---

    cgges3 ¶

    cgges3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_C_SELECT2, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	vsl:           ^complex64, 
    	ldvsl:         i64, 
    	vsr:           ^complex64, 
    	ldvsr:         i64, 
    ) -> i64 ---

    cggesx ¶

    cggesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_C_SELECT2, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	vsl:           ^complex64, 
    	ldvsl:         i64, 
    	vsr:           ^complex64, 
    	ldvsr:         i64, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    cggev ¶

    cggev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    ) -> i64 ---

    cggev3 ¶

    cggev3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    ) -> i64 ---

    cggevx ¶

    cggevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f32, 
    	rscale:        ^f32, 
    	abnrm:         ^f32, 
    	bbnrm:         ^f32, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    cggglm ¶

    cggglm :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	d:             [^]complex64, 
    	x:             [^]complex64, 
    	y:             ^complex64, 
    ) -> i64 ---

    cgghd3 ¶

    cgghd3 :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    cgghrd ¶

    cgghrd :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    cgglse ¶

    cgglse :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	_c:            [^]complex64, 
    	d:             [^]complex64, 
    	x:             [^]complex64, 
    ) -> i64 ---

    cggqrf ¶

    cggqrf :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	taua:          ^complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	taub:          ^complex64, 
    ) -> i64 ---

    cggrqf ¶

    cggrqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	taua:          ^complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	taub:          ^complex64, 
    ) -> i64 ---

    cggsvd ¶

    cggsvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	alpha:         [^]f32, 
    	beta:          [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    cggsvd3 ¶

    cggsvd3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	alpha:         [^]f32, 
    	beta:          [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    cggsvp ¶

    cggsvp :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	tola:          f32, 
    	tolb:          f32, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    ) -> i64 ---

    cggsvp3 ¶

    cggsvp3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	tola:          f32, 
    	tolb:          f32, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    ) -> i64 ---

    cgtcon ¶

    cgtcon :: proc "c" (
    	norm:  u8, 
    	n:     i64, 
    	dl:    [^]complex64, 
    	d:     [^]complex64, 
    	du:    [^]complex64, 
    	du2:   [^]complex64, 
    	ipiv:  [^]i64, 
    	anorm: f32, 
    	rcond: ^f32, 
    ) -> i64 ---

    cgtrfs ¶

    cgtrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex64, 
    	d:             [^]complex64, 
    	du:            [^]complex64, 
    	dlf:           ^complex64, 
    	df:            [^]complex64, 
    	duf:           ^complex64, 
    	du2:           [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cgtsv ¶

    cgtsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex64, 
    	d:             [^]complex64, 
    	du:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cgtsvx ¶

    cgtsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex64, 
    	d:             [^]complex64, 
    	du:            [^]complex64, 
    	dlf:           ^complex64, 
    	df:            [^]complex64, 
    	duf:           ^complex64, 
    	du2:           [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cgttrf ¶

    cgttrf :: proc "c" (
    	n:    i64, 
    	dl:   [^]complex64, 
    	d:    [^]complex64, 
    	du:   [^]complex64, 
    	du2:  [^]complex64, 
    	ipiv: [^]i64, 
    ) -> i64 ---

    cgttrs ¶

    cgttrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex64, 
    	d:             [^]complex64, 
    	du:            [^]complex64, 
    	du2:           [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chbev ¶

    chbev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chbev_2stage ¶

    chbev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chbevd ¶

    chbevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chbevd_2stage ¶

    chbevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chbevx ¶

    chbevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    chbevx_2stage ¶

    chbevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    chbgst ¶

    chbgst :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	bb:            ^complex64, 
    	ldbb:          i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    ) -> i64 ---

    chbgv ¶

    chbgv :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	bb:            ^complex64, 
    	ldbb:          i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chbgvd ¶

    chbgvd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	bb:            ^complex64, 
    	ldbb:          i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chbgvx ¶

    chbgvx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	bb:            ^complex64, 
    	ldbb:          i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    chbtrd ¶

    chbtrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    ) -> i64 ---

    checon ¶

    checon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    checon_3 ¶

    checon_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    cheequb ¶

    cheequb :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cheev ¶

    cheev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    cheev_2stage ¶

    cheev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    cheevd ¶

    cheevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    cheevd_2stage ¶

    cheevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    cheevr ¶

    cheevr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    cheevr_2stage ¶

    cheevr_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    cheevx ¶

    cheevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    cheevx_2stage ¶

    cheevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    chegst ¶

    chegst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chegv ¶

    chegv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    chegv_2stage ¶

    chegv_2stage :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    chegvd ¶

    chegvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    chegvx ¶

    chegvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    cherfs ¶

    cherfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cherfsx ¶

    cherfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    chesv ¶

    chesv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chesv_aa ¶

    chesv_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chesv_aa_2stage ¶

    chesv_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tb:            ^complex64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chesv_rk ¶

    chesv_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chesvx ¶

    chesvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    chesvxx ¶

    chesvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cheswapr ¶

    cheswapr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	i1:            i64, 
    	i2:            i64, 
    ) -> i64 ---

    chetrd ¶

    chetrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    chetrf ¶

    chetrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetrf_aa ¶

    chetrf_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetrf_aa_2stage ¶

    chetrf_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tb:            ^complex64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    ) -> i64 ---

    chetrf_rk ¶

    chetrf_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetrf_rook ¶

    chetrf_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetri ¶

    chetri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetri2 ¶

    chetri2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetri2x ¶

    chetri2x :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	nb:            i64, 
    ) -> i64 ---

    chetri_3 ¶

    chetri_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    chetrs ¶

    chetrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chetrs2 ¶

    chetrs2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chetrs_3 ¶

    chetrs_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chetrs_aa ¶

    chetrs_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chetrs_aa_2stage ¶

    chetrs_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tb:            ^complex64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chetrs_rook ¶

    chetrs_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chfrk ¶

    chfrk :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	k:             i64, 
    	alpha:         f32, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	beta:          f32, 
    	_c:            [^]complex64, 
    ) -> i64 ---

    chgeqz ¶

    chgeqz :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]complex64, 
    	ldh:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chpcon ¶

    chpcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    chpev ¶

    chpev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chpevd ¶

    chpevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chpevx ¶

    chpevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    chpgst ¶

    chpgst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	bp:            [^]complex64, 
    ) -> i64 ---

    chpgv ¶

    chpgv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	bp:            [^]complex64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chpgvd ¶

    chpgvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	bp:            [^]complex64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    chpgvx ¶

    chpgvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	bp:            [^]complex64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    chprfs ¶

    chprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	afp:           ^complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    chpsv ¶

    chpsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chpsvx ¶

    chpsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	afp:           ^complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    chptrd ¶

    chptrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    chptrf ¶

    chptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex64, ipiv: [^]i64) -> i64 ---

    chptri ¶

    chptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex64, ipiv: [^]i64) -> i64 ---

    chptrs ¶

    chptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    chsein ¶

    chsein :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	eigsrc:        u8, 
    	initv:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	h:             [^]complex64, 
    	ldh:           i64, 
    	w:             [^]complex64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    	ifaill:        ^i64, 
    	ifailr:        ^i64, 
    ) -> i64 ---

    chseqr ¶

    chseqr :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]complex64, 
    	ldh:           i64, 
    	w:             [^]complex64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    clacgv ¶

    clacgv :: proc "c" (n: i64, x: [^]complex64, incx: i64) -> i64 ---

    clacn2 ¶

    clacn2 :: proc "c" (
    	n:     i64, 
    	v:     [^]complex64, 
    	x:     [^]complex64, 
    	est:   ^f32, 
    	kase:  ^i64, 
    	isave: ^i64, 
    ) -> i64 ---

    clacp2 ¶

    clacp2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    clacpy ¶

    clacpy :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    clacrm ¶

    clacrm :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    clag2z ¶

    clag2z :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	sa:            ^complex64, 
    	ldsa:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    clagge ¶

    clagge :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	d:             [^]f32, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    claghe ¶

    claghe :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	k:             i64, 
    	d:             [^]f32, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    clagsy ¶

    clagsy :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	k:             i64, 
    	d:             [^]f32, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    clangb ¶

    clangb :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    ) -> f32 ---

    clange ¶

    clange :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> f32 ---

    clanhe ¶

    clanhe :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> f32 ---

    clansy ¶

    clansy :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> f32 ---

    clantr ¶

    clantr :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> f32 ---

    clapmr ¶

    clapmr :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    clapmt ¶

    clapmt :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    clarcm ¶

    clarcm :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    clarfb ¶

    clarfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    clarfg ¶

    clarfg :: proc "c" (n: i64, alpha: [^]complex64, x: [^]complex64, incx: i64, tau: [^]complex64) -> i64 ---

    clarft ¶

    clarft :: proc "c" (
    	matrix_layout: i32, 
    	direct:        u8, 
    	storev:        u8, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	tau:           [^]complex64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    clarfx ¶

    clarfx :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	m:             i64, 
    	n:             i64, 
    	v:             [^]complex64, 
    	tau:           complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    	work:          [^]complex64, 
    ) -> i64 ---

    clarnv ¶

    clarnv :: proc "c" (idist: i64, iseed: [^]i64, n: i64, x: [^]complex64) -> i64 ---

    clascl ¶

    clascl :: proc "c" (
    	matrix_layout: i32, 
    	type:          u8, 
    	kl:            i64, 
    	ku:            i64, 
    	cfrom:         f32, 
    	cto:           f32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    claset ¶

    claset :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         complex64, 
    	beta:          complex64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    classq ¶

    classq :: proc "c" (n: i64, x: [^]complex64, incx: i64, scale: [^]f32, sumsq: ^f32) -> i64 ---

    claswp ¶

    claswp :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	k1:            i64, 
    	k2:            i64, 
    	ipiv:          [^]i64, 
    	incx:          i64, 
    ) -> i64 ---

    clatms ¶

    clatms :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	dist:          u8, 
    	iseed:         [^]i64, 
    	sym:           u8, 
    	d:             [^]f32, 
    	mode:          i64, 
    	cond:          f32, 
    	dmax:          f32, 
    	kl:            i64, 
    	ku:            i64, 
    	pack:          u8, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    clauum ¶

    clauum :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex64, lda: i64) -> i64 ---

    cpbcon ¶

    cpbcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    cpbequ ¶

    cpbequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cpbrfs ¶

    cpbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	afb:           [^]complex64, 
    	ldafb:         i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cpbstf ¶

    cpbstf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kb:            i64, 
    	bb:            ^complex64, 
    	ldbb:          i64, 
    ) -> i64 ---

    cpbsv ¶

    cpbsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cpbsvx ¶

    cpbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	afb:           [^]complex64, 
    	ldafb:         i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cpbtrf ¶

    cpbtrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    ) -> i64 ---

    cpbtrs ¶

    cpbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cpftrf ¶

    cpftrf :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]complex64) -> i64 ---

    cpftri ¶

    cpftri :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]complex64) -> i64 ---

    cpftrs ¶

    cpftrs :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cpocon ¶

    cpocon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    cpoequ ¶

    cpoequ :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cpoequb ¶

    cpoequb :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cporfs ¶

    cporfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cporfsx ¶

    cporfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cposv ¶

    cposv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cposvx ¶

    cposvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cposvxx ¶

    cposvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    cpotrf ¶

    cpotrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex64, lda: i64) -> i64 ---

    cpotrf2 ¶

    cpotrf2 :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex64, lda: i64) -> i64 ---

    cpotri ¶

    cpotri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex64, lda: i64) -> i64 ---

    cpotrs ¶

    cpotrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cppcon ¶

    cppcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    cppequ ¶

    cppequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    cpprfs ¶

    cpprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	afp:           ^complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cppsv ¶

    cppsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cppsvx ¶

    cppsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	afp:           ^complex64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cpptrf ¶

    cpptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex64) -> i64 ---

    cpptri ¶

    cpptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex64) -> i64 ---

    cpptrs ¶

    cpptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cpstrf ¶

    cpstrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	piv:           ^i64, 
    	rank:          ^i64, 
    	tol:           f32, 
    ) -> i64 ---

    cptcon ¶

    cptcon :: proc "c" (n: i64, d: [^]f32, e: [^]complex64, anorm: f32, rcond: ^f32) -> i64 ---

    cpteqr ¶

    cpteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    cptrfs ¶

    cptrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]complex64, 
    	df:            [^]f32, 
    	ef:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cptsv ¶

    cptsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cptsvx ¶

    cptsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]complex64, 
    	df:            [^]f32, 
    	ef:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cpttrf ¶

    cpttrf :: proc "c" (n: i64, d: [^]f32, e: [^]complex64) -> i64 ---

    cpttrs ¶

    cpttrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cspcon ¶

    cspcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    csprfs ¶

    csprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	afp:           ^complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    cspsv ¶

    cspsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cspsvx ¶

    cspsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	afp:           ^complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    csptrf ¶

    csptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex64, ipiv: [^]i64) -> i64 ---

    csptri ¶

    csptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex64, ipiv: [^]i64) -> i64 ---

    csptrs ¶

    csptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    cstedc ¶

    cstedc :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    cstegr ¶

    cstegr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    cstein ¶

    cstein :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	m:             i64, 
    	w:             [^]f32, 
    	iblock:        ^i64, 
    	isplit:        ^i64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifailv:        ^i64, 
    ) -> i64 ---

    cstemr ¶

    cstemr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	nzc:           i64, 
    	isuppz:        [^]i64, 
    	tryrac:        ^i64, 
    ) -> i64 ---

    csteqr ¶

    csteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    ) -> i64 ---

    csycon ¶

    csycon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    csycon_3 ¶

    csycon_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    csyconv ¶

    csyconv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	way:           u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	e:             [^]complex64, 
    ) -> i64 ---

    csyequb ¶

    csyequb :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    csyr ¶

    csyr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	alpha:         complex64, 
    	x:             [^]complex64, 
    	incx:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    csyrfs ¶

    csyrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    csyrfsx ¶

    csyrfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    csysv ¶

    csysv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csysv_aa ¶

    csysv_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csysv_aa_2stage ¶

    csysv_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tb:            ^complex64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csysv_rk ¶

    csysv_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csysv_rook ¶

    csysv_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csysvx ¶

    csysvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    csysvxx ¶

    csysvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	af:            ^complex64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    csyswapr ¶

    csyswapr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	i1:            i64, 
    	i2:            i64, 
    ) -> i64 ---

    csytrf ¶

    csytrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytrf_aa ¶

    csytrf_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytrf_aa_2stage ¶

    csytrf_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tb:            ^complex64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    ) -> i64 ---

    csytrf_rk ¶

    csytrf_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytrf_rook ¶

    csytrf_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytri ¶

    csytri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytri2 ¶

    csytri2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytri2x ¶

    csytri2x :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	nb:            i64, 
    ) -> i64 ---

    csytri_3 ¶

    csytri_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    csytrs ¶

    csytrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csytrs2 ¶

    csytrs2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csytrs_3 ¶

    csytrs_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	e:             [^]complex64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csytrs_aa ¶

    csytrs_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csytrs_aa_2stage ¶

    csytrs_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tb:            ^complex64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    csytrs_rook ¶

    csytrs_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctbcon ¶

    ctbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	rcond:         ^f32, 
    ) -> i64 ---

    ctbrfs ¶

    ctbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    ctbtrs ¶

    ctbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex64, 
    	ldab:          i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctfsm ¶

    ctfsm :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         complex64, 
    	a:             [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctftri ¶

    ctftri :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    ) -> i64 ---

    ctfttp ¶

    ctfttp :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^complex64, 
    	ap:            [^]complex64, 
    ) -> i64 ---

    ctfttr ¶

    ctfttr :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^complex64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    ctgevc ¶

    ctgevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	s:             [^]complex64, 
    	lds:           i64, 
    	p:             ^complex64, 
    	ldp:           i64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ctgexc ¶

    ctgexc :: proc "c" (
    	matrix_layout: i32, 
    	wantq:         i64, 
    	wantz:         i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	ifst:          i64, 
    	ilst:          i64, 
    ) -> i64 ---

    ctgsen ¶

    ctgsen :: proc "c" (
    	matrix_layout: i32, 
    	ijob:          i64, 
    	wantq:         i64, 
    	wantz:         i64, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	alpha:         [^]complex64, 
    	beta:          [^]complex64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	z:             [^]complex64, 
    	ldz:           i64, 
    	m:             ^i64, 
    	pl:            ^f32, 
    	pr:            ^f32, 
    	dif:           ^f32, 
    ) -> i64 ---

    ctgsja ¶

    ctgsja :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	tola:          f32, 
    	tolb:          f32, 
    	alpha:         [^]f32, 
    	beta:          [^]f32, 
    	u:             [^]complex64, 
    	ldu:           i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	ncycle:        ^i64, 
    ) -> i64 ---

    ctgsna ¶

    ctgsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	s:             [^]f32, 
    	dif:           ^f32, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ctgsyl ¶

    ctgsyl :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	ijob:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    	d:             [^]complex64, 
    	ldd:           i64, 
    	e:             [^]complex64, 
    	lde:           i64, 
    	f:             ^complex64, 
    	ldf:           i64, 
    	scale:         [^]f32, 
    	dif:           ^f32, 
    ) -> i64 ---

    ctpcon ¶

    ctpcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	rcond:         ^f32, 
    ) -> i64 ---

    ctpmqrt ¶

    ctpmqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctpqrt ¶

    ctpqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    ctpqrt2 ¶

    ctpqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    ctprfb ¶

    ctprfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	v:             [^]complex64, 
    	ldv:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctprfs ¶

    ctprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    ctptri ¶

    ctptri :: proc "c" (matrix_layout: i32, uplo: u8, diag: u8, n: i64, ap: [^]complex64) -> i64 ---

    ctptrs ¶

    ctptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctpttf ¶

    ctpttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	arf:           ^complex64, 
    ) -> i64 ---

    ctpttr ¶

    ctpttr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    ctrcon ¶

    ctrcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	rcond:         ^f32, 
    ) -> i64 ---

    ctrevc ¶

    ctrevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ctrexc ¶

    ctrexc :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	n:             i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	ifst:          i64, 
    	ilst:          i64, 
    ) -> i64 ---

    ctrrfs ¶

    ctrrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	x:             [^]complex64, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    ctrsen ¶

    ctrsen :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    	w:             [^]complex64, 
    	m:             ^i64, 
    	s:             [^]f32, 
    	sep:           [^]f32, 
    ) -> i64 ---

    ctrsna ¶

    ctrsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	vl:            [^]complex64, 
    	ldvl:          i64, 
    	vr:            [^]complex64, 
    	ldvr:          i64, 
    	s:             [^]f32, 
    	sep:           [^]f32, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ctrsyl ¶

    ctrsyl :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    	scale:         [^]f32, 
    ) -> i64 ---

    ctrtri ¶

    ctrtri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    ) -> i64 ---

    ctrtrs ¶

    ctrtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	b:             [^]complex64, 
    	ldb:           i64, 
    ) -> i64 ---

    ctrttf ¶

    ctrttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	arf:           ^complex64, 
    ) -> i64 ---

    ctrttp ¶

    ctrttp :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	ap:            [^]complex64, 
    ) -> i64 ---

    ctzrzf ¶

    ctzrzf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cunbdb ¶

    cunbdb :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^complex64, 
    	ldx11:         i64, 
    	x12:           ^complex64, 
    	ldx12:         i64, 
    	x21:           ^complex64, 
    	ldx21:         i64, 
    	x22:           ^complex64, 
    	ldx22:         i64, 
    	theta:         ^f32, 
    	phi:           ^f32, 
    	taup1:         ^complex64, 
    	taup2:         ^complex64, 
    	tauq1:         ^complex64, 
    	tauq2:         ^complex64, 
    ) -> i64 ---

    cuncsd ¶

    cuncsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^complex64, 
    	ldx11:         i64, 
    	x12:           ^complex64, 
    	ldx12:         i64, 
    	x21:           ^complex64, 
    	ldx21:         i64, 
    	x22:           ^complex64, 
    	ldx22:         i64, 
    	theta:         ^f32, 
    	u1:            ^complex64, 
    	ldu1:          i64, 
    	u2:            ^complex64, 
    	ldu2:          i64, 
    	v1t:           ^complex64, 
    	ldv1t:         i64, 
    	v2t:           ^complex64, 
    	ldv2t:         i64, 
    ) -> i64 ---

    cuncsd2by1 ¶

    cuncsd2by1 :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^complex64, 
    	ldx11:         i64, 
    	x21:           ^complex64, 
    	ldx21:         i64, 
    	theta:         ^f32, 
    	u1:            ^complex64, 
    	ldu1:          i64, 
    	u2:            ^complex64, 
    	ldu2:          i64, 
    	v1t:           ^complex64, 
    	ldv1t:         i64, 
    ) -> i64 ---

    cungbr ¶

    cungbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cunghr ¶

    cunghr :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cunglq ¶

    cunglq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cungql ¶

    cungql :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cungqr ¶

    cungqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cungrq ¶

    cungrq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cungtr ¶

    cungtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    ) -> i64 ---

    cungtsqr_row ¶

    cungtsqr_row :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb:            i64, 
    	nb:            i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    ) -> i64 ---

    cunhr_col ¶

    cunhr_col :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	t:             [^]complex64, 
    	ldt:           i64, 
    	d:             [^]complex64, 
    ) -> i64 ---

    cunmbr ¶

    cunmbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmhr ¶

    cunmhr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmlq ¶

    cunmlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmql ¶

    cunmql :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmqr ¶

    cunmqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmrq ¶

    cunmrq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmrz ¶

    cunmrz :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cunmtr ¶

    cunmtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex64, 
    	lda:           i64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    cupgtr ¶

    cupgtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	tau:           [^]complex64, 
    	q:             [^]complex64, 
    	ldq:           i64, 
    ) -> i64 ---

    cupmtr ¶

    cupmtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ap:            [^]complex64, 
    	tau:           [^]complex64, 
    	_c:            [^]complex64, 
    	ldc:           i64, 
    ) -> i64 ---

    dbbcsd ¶

    dbbcsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	theta:         ^f64, 
    	phi:           ^f64, 
    	u1:            ^f64, 
    	ldu1:          i64, 
    	u2:            ^f64, 
    	ldu2:          i64, 
    	v1t:           ^f64, 
    	ldv1t:         i64, 
    	v2t:           ^f64, 
    	ldv2t:         i64, 
    	b11d:          ^f64, 
    	b11e:          ^f64, 
    	b12d:          ^f64, 
    	b12e:          ^f64, 
    	b21d:          ^f64, 
    	b21e:          ^f64, 
    	b22d:          ^f64, 
    	b22e:          ^f64, 
    ) -> i64 ---

    dbdsdc ¶

    dbdsdc :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	compq:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	vt:            [^]f64, 
    	ldvt:          i64, 
    	q:             [^]f64, 
    	iq:            [^]i64, 
    ) -> i64 ---

    dbdsqr ¶

    dbdsqr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ncvt:          i64, 
    	nru:           i64, 
    	ncc:           i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vt:            [^]f64, 
    	ldvt:          i64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dbdsvdx ¶

    dbdsvdx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	ns:            ^i64, 
    	s:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	superb:        [^]i64, 
    ) -> i64 ---

    ddisna ¶

    ddisna :: proc "c" (job: u8, m: i64, n: i64, d: [^]f64, sep: [^]f64) -> i64 ---

    dgbbrd ¶

    dgbbrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	ncc:           i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	pt:            [^]f64, 
    	ldpt:          i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dgbcon ¶

    dgbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dgbequ ¶

    dgbequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dgbequb ¶

    dgbequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dgbrfs ¶

    dgbrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	afb:           [^]f64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dgbrfsx ¶

    dgbrfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	afb:           [^]f64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dgbsv ¶

    dgbsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgbsvx ¶

    dgbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	afb:           [^]f64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    	rpivot:        ^f64, 
    ) -> i64 ---

    dgbsvxx ¶

    dgbsvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	afb:           [^]f64, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dgbtrf ¶

    dgbtrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dgbtrs ¶

    dgbtrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgebak ¶

    dgebak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	scale:         [^]f64, 
    	m:             i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    ) -> i64 ---

    dgebal ¶

    dgebal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f64, 
    ) -> i64 ---

    dgebrd ¶

    dgebrd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	tauq:          [^]f64, 
    	taup:          [^]f64, 
    ) -> i64 ---

    dgecon ¶

    dgecon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dgeequ ¶

    dgeequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dgeequb ¶

    dgeequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dgees ¶

    dgees :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_D_SELECT2, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	vs:            [^]f64, 
    	ldvs:          i64, 
    ) -> i64 ---

    dgeesx ¶

    dgeesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_D_SELECT2, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	vs:            [^]f64, 
    	ldvs:          i64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    dgeev ¶

    dgeev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    ) -> i64 ---

    dgeevx ¶

    dgeevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f64, 
    	abnrm:         ^f64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    dgehrd ¶

    dgehrd :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgejsv ¶

    dgejsv :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobr:          u8, 
    	jobt:          u8, 
    	jobp:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	sva:           ^f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	stat:          ^f64, 
    	istat:         ^i64, 
    ) -> i64 ---

    dgelq ¶

    dgelq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	tsize:         i64, 
    ) -> i64 ---

    dgelq2 ¶

    dgelq2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgelqf ¶

    dgelqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgels ¶

    dgels :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgelsd ¶

    dgelsd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	s:             [^]f64, 
    	rcond:         f64, 
    	rank:          ^i64, 
    ) -> i64 ---

    dgelss ¶

    dgelss :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	s:             [^]f64, 
    	rcond:         f64, 
    	rank:          ^i64, 
    ) -> i64 ---

    dgelsy ¶

    dgelsy :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	jpvt:          ^i64, 
    	rcond:         f64, 
    	rank:          ^i64, 
    ) -> i64 ---

    dgemlq ¶

    dgemlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	tsize:         i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dgemqr ¶

    dgemqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	tsize:         i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dgemqrt ¶

    dgemqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	nb:            i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dgeqlf ¶

    dgeqlf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgeqp3 ¶

    dgeqp3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgeqpf ¶

    dgeqpf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgeqr ¶

    dgeqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	tsize:         i64, 
    ) -> i64 ---

    dgeqr2 ¶

    dgeqr2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgeqrf ¶

    dgeqrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgeqrfp ¶

    dgeqrfp :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgeqrt ¶

    dgeqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dgeqrt2 ¶

    dgeqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dgeqrt3 ¶

    dgeqrt3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dgerfs ¶

    dgerfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dgerfsx ¶

    dgerfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dgerqf ¶

    dgerqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dgesdd ¶

    dgesdd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	s:             [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	vt:            [^]f64, 
    	ldvt:          i64, 
    ) -> i64 ---

    dgesv ¶

    dgesv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgesvd ¶

    dgesvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	s:             [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	vt:            [^]f64, 
    	ldvt:          i64, 
    	superb:        [^]f64, 
    ) -> i64 ---

    dgesvdq ¶

    dgesvdq :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobp:          u8, 
    	jobr:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	s:             [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	numrank:       ^i64, 
    ) -> i64 ---

    dgesvdx ¶

    dgesvdx :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	range:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	ns:            ^i64, 
    	s:             [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	vt:            [^]f64, 
    	ldvt:          i64, 
    	superb:        [^]i64, 
    ) -> i64 ---

    dgesvj ¶

    dgesvj :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	sva:           ^f64, 
    	mv:            i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	stat:          ^f64, 
    ) -> i64 ---

    dgesvx ¶

    dgesvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    	rpivot:        ^f64, 
    ) -> i64 ---

    dgesvxx ¶

    dgesvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dgetf2 ¶

    dgetf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dgetrf ¶

    dgetrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dgetrf2 ¶

    dgetrf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dgetri ¶

    dgetri :: proc "c" (matrix_layout: i32, n: i64, a: [^]f64, lda: i64, ipiv: [^]i64) -> i64 ---

    dgetrs ¶

    dgetrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgetsls ¶

    dgetsls :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgetsqrhrt ¶

    dgetsqrhrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb1:           i64, 
    	nb1:           i64, 
    	nb2:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dggbak ¶

    dggbak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	lscale:        ^f64, 
    	rscale:        ^f64, 
    	m:             i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    ) -> i64 ---

    dggbal ¶

    dggbal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f64, 
    	rscale:        ^f64, 
    ) -> i64 ---

    dgges ¶

    dgges :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_D_SELECT3, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	vsl:           ^f64, 
    	ldvsl:         i64, 
    	vsr:           ^f64, 
    	ldvsr:         i64, 
    ) -> i64 ---

    dgges3 ¶

    dgges3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_D_SELECT3, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	vsl:           ^f64, 
    	ldvsl:         i64, 
    	vsr:           ^f64, 
    	ldvsr:         i64, 
    ) -> i64 ---

    dggesx ¶

    dggesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_D_SELECT3, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	vsl:           ^f64, 
    	ldvsl:         i64, 
    	vsr:           ^f64, 
    	ldvsr:         i64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    dggev ¶

    dggev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    ) -> i64 ---

    dggev3 ¶

    dggev3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    ) -> i64 ---

    dggevx ¶

    dggevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f64, 
    	rscale:        ^f64, 
    	abnrm:         ^f64, 
    	bbnrm:         ^f64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    dggglm ¶

    dggglm :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	d:             [^]f64, 
    	x:             [^]f64, 
    	y:             ^f64, 
    ) -> i64 ---

    dgghd3 ¶

    dgghd3 :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dgghrd ¶

    dgghrd :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dgglse ¶

    dgglse :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	_c:            [^]f64, 
    	d:             [^]f64, 
    	x:             [^]f64, 
    ) -> i64 ---

    dggqrf ¶

    dggqrf :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	taua:          ^f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	taub:          ^f64, 
    ) -> i64 ---

    dggrqf ¶

    dggrqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	taua:          ^f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	taub:          ^f64, 
    ) -> i64 ---

    dggsvd ¶

    dggsvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	alpha:         [^]f64, 
    	beta:          [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    dggsvd3 ¶

    dggsvd3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	alpha:         [^]f64, 
    	beta:          [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    dggsvp ¶

    dggsvp :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	tola:          f64, 
    	tolb:          f64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    ) -> i64 ---

    dggsvp3 ¶

    dggsvp3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	tola:          f64, 
    	tolb:          f64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    ) -> i64 ---

    dgtcon ¶

    dgtcon :: proc "c" (
    	norm:  u8, 
    	n:     i64, 
    	dl:    [^]f64, 
    	d:     [^]f64, 
    	du:    [^]f64, 
    	du2:   [^]f64, 
    	ipiv:  [^]i64, 
    	anorm: f64, 
    	rcond: ^f64, 
    ) -> i64 ---

    dgtrfs ¶

    dgtrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f64, 
    	d:             [^]f64, 
    	du:            [^]f64, 
    	dlf:           ^f64, 
    	df:            [^]f64, 
    	duf:           ^f64, 
    	du2:           [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dgtsv ¶

    dgtsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f64, 
    	d:             [^]f64, 
    	du:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dgtsvx ¶

    dgtsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f64, 
    	d:             [^]f64, 
    	du:            [^]f64, 
    	dlf:           ^f64, 
    	df:            [^]f64, 
    	duf:           ^f64, 
    	du2:           [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dgttrf ¶

    dgttrf :: proc "c" (
    	n:    i64, 
    	dl:   [^]f64, 
    	d:    [^]f64, 
    	du:   [^]f64, 
    	du2:  [^]f64, 
    	ipiv: [^]i64, 
    ) -> i64 ---

    dgttrs ¶

    dgttrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f64, 
    	d:             [^]f64, 
    	du:            [^]f64, 
    	du2:           [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dhgeqz ¶

    dhgeqz :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]f64, 
    	ldh:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dhsein ¶

    dhsein :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	eigsrc:        u8, 
    	initv:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	h:             [^]f64, 
    	ldh:           i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    	ifaill:        ^i64, 
    	ifailr:        ^i64, 
    ) -> i64 ---

    dhseqr ¶

    dhseqr :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]f64, 
    	ldh:           i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dlacn2 ¶

    dlacn2 :: proc "c" (
    	n:     i64, 
    	v:     [^]f64, 
    	x:     [^]f64, 
    	isgn:  [^]i64, 
    	est:   ^f64, 
    	kase:  ^i64, 
    	isave: ^i64, 
    ) -> i64 ---

    dlacpy ¶

    dlacpy :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dlag2s ¶

    dlag2s :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	sa:            ^f32, 
    	ldsa:          i64, 
    ) -> i64 ---

    dlagge ¶

    dlagge :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	d:             [^]f64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    dlagsy ¶

    dlagsy :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	k:             i64, 
    	d:             [^]f64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    dlamch ¶

    dlamch :: proc "c" (cmach: u8) -> f64 ---

    dlangb ¶

    dlangb :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    ) -> f64 ---

    dlange ¶

    dlange :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> f64 ---

    dlansy ¶

    dlansy :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> f64 ---

    dlantr ¶

    dlantr :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> f64 ---

    dlapmr ¶

    dlapmr :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    dlapmt ¶

    dlapmt :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    dlapy2 ¶

    dlapy2 :: proc "c" (x: f64, y: f64) -> f64 ---

    dlapy3 ¶

    dlapy3 :: proc "c" (x: f64, y: f64, z: f64) -> f64 ---

    dlarfb ¶

    dlarfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dlarfg ¶

    dlarfg :: proc "c" (n: i64, alpha: [^]f64, x: [^]f64, incx: i64, tau: [^]f64) -> i64 ---

    dlarft ¶

    dlarft :: proc "c" (
    	matrix_layout: i32, 
    	direct:        u8, 
    	storev:        u8, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	tau:           [^]f64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dlarfx ¶

    dlarfx :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	m:             i64, 
    	n:             i64, 
    	v:             [^]f64, 
    	tau:           f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    	work:          [^]f64, 
    ) -> i64 ---

    dlarnv ¶

    dlarnv :: proc "c" (idist: i64, iseed: [^]i64, n: i64, x: [^]f64) -> i64 ---

    dlartgp ¶

    dlartgp :: proc "c" (f: f64, g: f64, cs: ^f64, sn: ^f64, r: [^]f64) -> i64 ---

    dlartgs ¶

    dlartgs :: proc "c" (x: f64, y: f64, sigma: f64, cs: ^f64, sn: ^f64) -> i64 ---

    dlascl ¶

    dlascl :: proc "c" (
    	matrix_layout: i32, 
    	type:          u8, 
    	kl:            i64, 
    	ku:            i64, 
    	cfrom:         f64, 
    	cto:           f64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    dlaset ¶

    dlaset :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         f64, 
    	beta:          f64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    dlasrt ¶

    dlasrt :: proc "c" (id: u8, n: i64, d: [^]f64) -> i64 ---

    dlassq ¶

    dlassq :: proc "c" (n: i64, x: [^]f64, incx: i64, scale: [^]f64, sumsq: ^f64) -> i64 ---

    dlaswp ¶

    dlaswp :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	k1:            i64, 
    	k2:            i64, 
    	ipiv:          [^]i64, 
    	incx:          i64, 
    ) -> i64 ---

    dlatms ¶

    dlatms :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	dist:          u8, 
    	iseed:         [^]i64, 
    	sym:           u8, 
    	d:             [^]f64, 
    	mode:          i64, 
    	cond:          f64, 
    	dmax:          f64, 
    	kl:            i64, 
    	ku:            i64, 
    	pack:          u8, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    dlauum ¶

    dlauum :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f64, lda: i64) -> i64 ---

    dopgtr ¶

    dopgtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	tau:           [^]f64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    ) -> i64 ---

    dopmtr ¶

    dopmtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ap:            [^]f64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dorbdb ¶

    dorbdb :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^f64, 
    	ldx11:         i64, 
    	x12:           ^f64, 
    	ldx12:         i64, 
    	x21:           ^f64, 
    	ldx21:         i64, 
    	x22:           ^f64, 
    	ldx22:         i64, 
    	theta:         ^f64, 
    	phi:           ^f64, 
    	taup1:         ^f64, 
    	taup2:         ^f64, 
    	tauq1:         ^f64, 
    	tauq2:         ^f64, 
    ) -> i64 ---

    dorcsd ¶

    dorcsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^f64, 
    	ldx11:         i64, 
    	x12:           ^f64, 
    	ldx12:         i64, 
    	x21:           ^f64, 
    	ldx21:         i64, 
    	x22:           ^f64, 
    	ldx22:         i64, 
    	theta:         ^f64, 
    	u1:            ^f64, 
    	ldu1:          i64, 
    	u2:            ^f64, 
    	ldu2:          i64, 
    	v1t:           ^f64, 
    	ldv1t:         i64, 
    	v2t:           ^f64, 
    	ldv2t:         i64, 
    ) -> i64 ---

    dorcsd2by1 ¶

    dorcsd2by1 :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^f64, 
    	ldx11:         i64, 
    	x21:           ^f64, 
    	ldx21:         i64, 
    	theta:         ^f64, 
    	u1:            ^f64, 
    	ldu1:          i64, 
    	u2:            ^f64, 
    	ldu2:          i64, 
    	v1t:           ^f64, 
    	ldv1t:         i64, 
    ) -> i64 ---

    dorgbr ¶

    dorgbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorghr ¶

    dorghr :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorglq ¶

    dorglq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorgql ¶

    dorgql :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorgqr ¶

    dorgqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorgrq ¶

    dorgrq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorgtr ¶

    dorgtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dorgtsqr_row ¶

    dorgtsqr_row :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb:            i64, 
    	nb:            i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dorhr_col ¶

    dorhr_col :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	d:             [^]f64, 
    ) -> i64 ---

    dormbr ¶

    dormbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormhr ¶

    dormhr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormlq ¶

    dormlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormql ¶

    dormql :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormqr ¶

    dormqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormrq ¶

    dormrq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormrz ¶

    dormrz :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dormtr ¶

    dormtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    ) -> i64 ---

    dpbcon ¶

    dpbcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dpbequ ¶

    dpbequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dpbrfs ¶

    dpbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	afb:           [^]f64, 
    	ldafb:         i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dpbstf ¶

    dpbstf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kb:            i64, 
    	bb:            ^f64, 
    	ldbb:          i64, 
    ) -> i64 ---

    dpbsv ¶

    dpbsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dpbsvx ¶

    dpbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	afb:           [^]f64, 
    	ldafb:         i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dpbtrf ¶

    dpbtrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    ) -> i64 ---

    dpbtrs ¶

    dpbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dpftrf ¶

    dpftrf :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]f64) -> i64 ---

    dpftri ¶

    dpftri :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]f64) -> i64 ---

    dpftrs ¶

    dpftrs :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dpocon ¶

    dpocon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dpoequ ¶

    dpoequ :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dpoequb ¶

    dpoequb :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dporfs ¶

    dporfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dporfsx ¶

    dporfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dposv ¶

    dposv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dposvx ¶

    dposvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dposvxx ¶

    dposvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dpotrf ¶

    dpotrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f64, lda: i64) -> i64 ---

    dpotrf2 ¶

    dpotrf2 :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f64, lda: i64) -> i64 ---

    dpotri ¶

    dpotri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f64, lda: i64) -> i64 ---

    dpotrs ¶

    dpotrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dppcon ¶

    dppcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dppequ ¶

    dppequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dpprfs ¶

    dpprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	afp:           ^f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dppsv ¶

    dppsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dppsvx ¶

    dppsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	afp:           ^f64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dpptrf ¶

    dpptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f64) -> i64 ---

    dpptri ¶

    dpptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f64) -> i64 ---

    dpptrs ¶

    dpptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dpstrf ¶

    dpstrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	piv:           ^i64, 
    	rank:          ^i64, 
    	tol:           f64, 
    ) -> i64 ---

    dptcon ¶

    dptcon :: proc "c" (n: i64, d: [^]f64, e: [^]f64, anorm: f64, rcond: ^f64) -> i64 ---

    dpteqr ¶

    dpteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dptrfs ¶

    dptrfs :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	df:            [^]f64, 
    	ef:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dptsv ¶

    dptsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dptsvx ¶

    dptsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	df:            [^]f64, 
    	ef:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dpttrf ¶

    dpttrf :: proc "c" (n: i64, d: [^]f64, e: [^]f64) -> i64 ---

    dpttrs ¶

    dpttrs :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsbev ¶

    dsbev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsbev_2stage ¶

    dsbev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsbevd ¶

    dsbevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsbevd_2stage ¶

    dsbevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsbevx ¶

    dsbevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsbevx_2stage ¶

    dsbevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsbgst ¶

    dsbgst :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	bb:            ^f64, 
    	ldbb:          i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    ) -> i64 ---

    dsbgv ¶

    dsbgv :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	bb:            ^f64, 
    	ldbb:          i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsbgvd ¶

    dsbgvd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	bb:            ^f64, 
    	ldbb:          i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsbgvx ¶

    dsbgvx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	bb:            ^f64, 
    	ldbb:          i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsbtrd ¶

    dsbtrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    ) -> i64 ---

    dsfrk ¶

    dsfrk :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	k:             i64, 
    	alpha:         f64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	beta:          f64, 
    	_c:            [^]f64, 
    ) -> i64 ---

    dsgesv ¶

    dsgesv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	iter:          ^i64, 
    ) -> i64 ---

    dspcon ¶

    dspcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dspev ¶

    dspev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dspevd ¶

    dspevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dspevx ¶

    dspevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dspgst ¶

    dspgst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	bp:            [^]f64, 
    ) -> i64 ---

    dspgv ¶

    dspgv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	bp:            [^]f64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dspgvd ¶

    dspgvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	bp:            [^]f64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dspgvx ¶

    dspgvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	bp:            [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsposv ¶

    dsposv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	iter:          ^i64, 
    ) -> i64 ---

    dsprfs ¶

    dsprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	afp:           ^f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dspsv ¶

    dspsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dspsvx ¶

    dspsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	afp:           ^f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dsptrd ¶

    dsptrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dsptrf ¶

    dsptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f64, ipiv: [^]i64) -> i64 ---

    dsptri ¶

    dsptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f64, ipiv: [^]i64) -> i64 ---

    dsptrs ¶

    dsptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dstebz ¶

    dstebz :: proc "c" (
    	range:  u8, 
    	order:  u8, 
    	n:      i64, 
    	vl:     f64, 
    	vu:     f64, 
    	il:     i64, 
    	iu:     i64, 
    	abstol: f64, 
    	d:      [^]f64, 
    	e:      [^]f64, 
    	m:      ^i64, 
    	nsplit: ^i64, 
    	w:      [^]f64, 
    	iblock: ^i64, 
    	isplit: ^i64, 
    ) -> i64 ---

    dstedc ¶

    dstedc :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dstegr ¶

    dstegr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    dstein ¶

    dstein :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	m:             i64, 
    	w:             [^]f64, 
    	iblock:        ^i64, 
    	isplit:        ^i64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifailv:        ^i64, 
    ) -> i64 ---

    dstemr ¶

    dstemr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	nzc:           i64, 
    	isuppz:        [^]i64, 
    	tryrac:        ^i64, 
    ) -> i64 ---

    dsteqr ¶

    dsteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dsterf ¶

    dsterf :: proc "c" (n: i64, d: [^]f64, e: [^]f64) -> i64 ---

    dstev ¶

    dstev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dstevd ¶

    dstevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    ) -> i64 ---

    dstevr ¶

    dstevr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    dstevx ¶

    dstevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsycon ¶

    dsycon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dsycon_3 ¶

    dsycon_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	e:             [^]f64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dsyconv ¶

    dsyconv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	way:           u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	e:             [^]f64, 
    ) -> i64 ---

    dsyequb ¶

    dsyequb :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    dsyev ¶

    dsyev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsyev_2stage ¶

    dsyev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsyevd ¶

    dsyevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsyevd_2stage ¶

    dsyevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsyevr ¶

    dsyevr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    dsyevr_2stage ¶

    dsyevr_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    dsyevx ¶

    dsyevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsyevx_2stage ¶

    dsyevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsygst ¶

    dsygst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsygv ¶

    dsygv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsygv_2stage ¶

    dsygv_2stage :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsygvd ¶

    dsygvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    dsygvx ¶

    dsygvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    dsyrfs ¶

    dsyrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dsyrfsx ¶

    dsyrfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dsysv ¶

    dsysv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsysv_aa ¶

    dsysv_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsysv_aa_2stage ¶

    dsysv_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tb:            ^f64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsysv_rk ¶

    dsysv_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	e:             [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsysv_rook ¶

    dsysv_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsysvx ¶

    dsysvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dsysvxx ¶

    dsysvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	af:            ^f64, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    dsyswapr ¶

    dsyswapr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	i1:            i64, 
    	i2:            i64, 
    ) -> i64 ---

    dsytrd ¶

    dsytrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    dsytrf ¶

    dsytrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytrf_aa ¶

    dsytrf_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytrf_aa_2stage ¶

    dsytrf_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tb:            ^f64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    ) -> i64 ---

    dsytrf_rk ¶

    dsytrf_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	e:             [^]f64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytrf_rook ¶

    dsytrf_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytri ¶

    dsytri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytri2 ¶

    dsytri2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytri2x ¶

    dsytri2x :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	nb:            i64, 
    ) -> i64 ---

    dsytri_3 ¶

    dsytri_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	e:             [^]f64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    dsytrs ¶

    dsytrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsytrs2 ¶

    dsytrs2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsytrs_3 ¶

    dsytrs_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	e:             [^]f64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsytrs_aa ¶

    dsytrs_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsytrs_aa_2stage ¶

    dsytrs_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tb:            ^f64, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dsytrs_rook ¶

    dsytrs_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtbcon ¶

    dtbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dtbrfs ¶

    dtbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dtbtrs ¶

    dtbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f64, 
    	ldab:          i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtfsm ¶

    dtfsm :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         f64, 
    	a:             [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtftri ¶

    dtftri :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    ) -> i64 ---

    dtfttp ¶

    dtfttp :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^f64, 
    	ap:            [^]f64, 
    ) -> i64 ---

    dtfttr ¶

    dtfttr :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^f64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    dtgevc ¶

    dtgevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	s:             [^]f64, 
    	lds:           i64, 
    	p:             ^f64, 
    	ldp:           i64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    dtgexc ¶

    dtgexc :: proc "c" (
    	matrix_layout: i32, 
    	wantq:         i64, 
    	wantz:         i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	ifst:          ^i64, 
    	ilst:          ^i64, 
    ) -> i64 ---

    dtgsen ¶

    dtgsen :: proc "c" (
    	matrix_layout: i32, 
    	ijob:          i64, 
    	wantq:         i64, 
    	wantz:         i64, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	alphar:        ^f64, 
    	alphai:        ^f64, 
    	beta:          [^]f64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	z:             [^]f64, 
    	ldz:           i64, 
    	m:             ^i64, 
    	pl:            ^f64, 
    	pr:            ^f64, 
    	dif:           ^f64, 
    ) -> i64 ---

    dtgsja ¶

    dtgsja :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	tola:          f64, 
    	tolb:          f64, 
    	alpha:         [^]f64, 
    	beta:          [^]f64, 
    	u:             [^]f64, 
    	ldu:           i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	ncycle:        ^i64, 
    ) -> i64 ---

    dtgsna ¶

    dtgsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	s:             [^]f64, 
    	dif:           ^f64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    dtgsyl ¶

    dtgsyl :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	ijob:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    	d:             [^]f64, 
    	ldd:           i64, 
    	e:             [^]f64, 
    	lde:           i64, 
    	f:             ^f64, 
    	ldf:           i64, 
    	scale:         [^]f64, 
    	dif:           ^f64, 
    ) -> i64 ---

    dtpcon ¶

    dtpcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dtpmqrt ¶

    dtpmqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtpqrt ¶

    dtpqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dtpqrt2 ¶

    dtpqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    ) -> i64 ---

    dtprfb ¶

    dtprfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	v:             [^]f64, 
    	ldv:           i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtprfs ¶

    dtprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dtptri ¶

    dtptri :: proc "c" (matrix_layout: i32, uplo: u8, diag: u8, n: i64, ap: [^]f64) -> i64 ---

    dtptrs ¶

    dtptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtpttf ¶

    dtpttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	arf:           ^f64, 
    ) -> i64 ---

    dtpttr ¶

    dtpttr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    dtrcon ¶

    dtrcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    dtrevc ¶

    dtrevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    dtrexc ¶

    dtrexc :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	n:             i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	ifst:          ^i64, 
    	ilst:          ^i64, 
    ) -> i64 ---

    dtrrfs ¶

    dtrrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	x:             [^]f64, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    dtrsen ¶

    dtrsen :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	q:             [^]f64, 
    	ldq:           i64, 
    	wr:            [^]f64, 
    	wi:            [^]f64, 
    	m:             ^i64, 
    	s:             [^]f64, 
    	sep:           [^]f64, 
    ) -> i64 ---

    dtrsna ¶

    dtrsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]f64, 
    	ldt:           i64, 
    	vl:            [^]f64, 
    	ldvl:          i64, 
    	vr:            [^]f64, 
    	ldvr:          i64, 
    	s:             [^]f64, 
    	sep:           [^]f64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    dtrsyl ¶

    dtrsyl :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    	scale:         [^]f64, 
    ) -> i64 ---

    dtrsyl3 ¶

    dtrsyl3 :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	_c:            [^]f64, 
    	ldc:           i64, 
    	scale:         [^]f64, 
    ) -> i64 ---

    dtrtri ¶

    dtrtri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    dtrtrs ¶

    dtrtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    ) -> i64 ---

    dtrttf ¶

    dtrttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	arf:           ^f64, 
    ) -> i64 ---

    dtrttp ¶

    dtrttp :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	ap:            [^]f64, 
    ) -> i64 ---

    dtzrzf ¶

    dtzrzf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	tau:           [^]f64, 
    ) -> i64 ---

    get_nancheck ¶

    get_nancheck :: proc "c" () -> i32 ---

    ilaver ¶

    ilaver :: proc "c" (vers_major: ^i64, vers_minor: ^i64, vers_patch: ^i64) ---

    lapack_make_complex_double ¶

    lapack_make_complex_double :: proc "c" (re: f64, im: f64) -> complex128 ---

    lapack_make_complex_float ¶

    lapack_make_complex_float :: proc "c" (re: f32, im: f32) -> complex64 ---

    sbbcsd ¶

    sbbcsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	theta:         ^f32, 
    	phi:           ^f32, 
    	u1:            ^f32, 
    	ldu1:          i64, 
    	u2:            ^f32, 
    	ldu2:          i64, 
    	v1t:           ^f32, 
    	ldv1t:         i64, 
    	v2t:           ^f32, 
    	ldv2t:         i64, 
    	b11d:          ^f32, 
    	b11e:          ^f32, 
    	b12d:          ^f32, 
    	b12e:          ^f32, 
    	b21d:          ^f32, 
    	b21e:          ^f32, 
    	b22d:          ^f32, 
    	b22e:          ^f32, 
    ) -> i64 ---

    sbdsdc ¶

    sbdsdc :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	compq:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	vt:            [^]f32, 
    	ldvt:          i64, 
    	q:             [^]f32, 
    	iq:            [^]i64, 
    ) -> i64 ---
     

    C-LAPACK function prototypes

    sbdsqr ¶

    sbdsqr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ncvt:          i64, 
    	nru:           i64, 
    	ncc:           i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vt:            [^]f32, 
    	ldvt:          i64, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sbdsvdx ¶

    sbdsvdx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	ns:            ^i64, 
    	s:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	superb:        [^]i64, 
    ) -> i64 ---

    sdisna ¶

    sdisna :: proc "c" (job: u8, m: i64, n: i64, d: [^]f32, sep: [^]f32) -> i64 ---

    set_nancheck ¶

    set_nancheck :: proc "c" (flag: i32) ---
     

    APIs for set/get nancheck flags

    sgbbrd ¶

    sgbbrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	ncc:           i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	pt:            [^]f32, 
    	ldpt:          i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sgbcon ¶

    sgbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    sgbequ ¶

    sgbequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    sgbequb ¶

    sgbequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    sgbrfs ¶

    sgbrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	afb:           [^]f32, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sgbrfsx ¶

    sgbrfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	afb:           [^]f32, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    sgbsv ¶

    sgbsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgbsvx ¶

    sgbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	afb:           [^]f32, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    	rpivot:        ^f32, 
    ) -> i64 ---

    sgbsvxx ¶

    sgbsvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	afb:           [^]f32, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    sgbtrf ¶

    sgbtrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    sgbtrs ¶

    sgbtrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgebak ¶

    sgebak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	scale:         [^]f32, 
    	m:             i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    ) -> i64 ---

    sgebal ¶

    sgebal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f32, 
    ) -> i64 ---

    sgebrd ¶

    sgebrd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	tauq:          [^]f32, 
    	taup:          [^]f32, 
    ) -> i64 ---

    sgecon ¶

    sgecon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    sgeequ ¶

    sgeequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    sgeequb ¶

    sgeequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	rowcnd:        ^f32, 
    	colcnd:        ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    sgees ¶

    sgees :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_S_SELECT2, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	vs:            [^]f32, 
    	ldvs:          i64, 
    ) -> i64 ---

    sgeesx ¶

    sgeesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_S_SELECT2, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	vs:            [^]f32, 
    	ldvs:          i64, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    sgeev ¶

    sgeev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    ) -> i64 ---

    sgeevx ¶

    sgeevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f32, 
    	abnrm:         ^f32, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    sgehrd ¶

    sgehrd :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgejsv ¶

    sgejsv :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobr:          u8, 
    	jobt:          u8, 
    	jobp:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	sva:           ^f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	stat:          ^f32, 
    	istat:         ^i64, 
    ) -> i64 ---

    sgelq ¶

    sgelq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	tsize:         i64, 
    ) -> i64 ---

    sgelq2 ¶

    sgelq2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgelqf ¶

    sgelqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgels ¶

    sgels :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgelsd ¶

    sgelsd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	s:             [^]f32, 
    	rcond:         f32, 
    	rank:          ^i64, 
    ) -> i64 ---

    sgelss ¶

    sgelss :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	s:             [^]f32, 
    	rcond:         f32, 
    	rank:          ^i64, 
    ) -> i64 ---

    sgelsy ¶

    sgelsy :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	jpvt:          ^i64, 
    	rcond:         f32, 
    	rank:          ^i64, 
    ) -> i64 ---

    sgemlq ¶

    sgemlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	tsize:         i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sgemqr ¶

    sgemqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	tsize:         i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sgemqrt ¶

    sgemqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	nb:            i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---
     

    LAPACK 3.4.0

    sgeqlf ¶

    sgeqlf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgeqp3 ¶

    sgeqp3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgeqpf ¶

    sgeqpf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgeqr ¶

    sgeqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	tsize:         i64, 
    ) -> i64 ---

    sgeqr2 ¶

    sgeqr2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgeqrf ¶

    sgeqrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgeqrfp ¶

    sgeqrfp :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgeqrt ¶

    sgeqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    sgeqrt2 ¶

    sgeqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    sgeqrt3 ¶

    sgeqrt3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    sgerfs ¶

    sgerfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sgerfsx ¶

    sgerfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    sgerqf ¶

    sgerqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sgesdd ¶

    sgesdd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	s:             [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	vt:            [^]f32, 
    	ldvt:          i64, 
    ) -> i64 ---

    sgesv ¶

    sgesv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgesvd ¶

    sgesvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	s:             [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	vt:            [^]f32, 
    	ldvt:          i64, 
    	superb:        [^]f32, 
    ) -> i64 ---

    sgesvdq ¶

    sgesvdq :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobp:          u8, 
    	jobr:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	s:             [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	numrank:       ^i64, 
    ) -> i64 ---

    sgesvdx ¶

    sgesvdx :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	range:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	ns:            ^i64, 
    	s:             [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	vt:            [^]f32, 
    	ldvt:          i64, 
    	superb:        [^]i64, 
    ) -> i64 ---

    sgesvj ¶

    sgesvj :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	sva:           ^f32, 
    	mv:            i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	stat:          ^f32, 
    ) -> i64 ---

    sgesvx ¶

    sgesvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    	rpivot:        ^f32, 
    ) -> i64 ---

    sgesvxx ¶

    sgesvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f32, 
    	_c:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    sgetf2 ¶

    sgetf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    sgetrf ¶

    sgetrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    sgetrf2 ¶

    sgetrf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    sgetri ¶

    sgetri :: proc "c" (matrix_layout: i32, n: i64, a: [^]f32, lda: i64, ipiv: [^]i64) -> i64 ---

    sgetrs ¶

    sgetrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgetsls ¶

    sgetsls :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgetsqrhrt ¶

    sgetsqrhrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb1:           i64, 
    	nb1:           i64, 
    	nb2:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    sggbak ¶

    sggbak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	lscale:        ^f32, 
    	rscale:        ^f32, 
    	m:             i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    ) -> i64 ---

    sggbal ¶

    sggbal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f32, 
    	rscale:        ^f32, 
    ) -> i64 ---

    sgges ¶

    sgges :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_S_SELECT3, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	vsl:           ^f32, 
    	ldvsl:         i64, 
    	vsr:           ^f32, 
    	ldvsr:         i64, 
    ) -> i64 ---

    sgges3 ¶

    sgges3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_S_SELECT3, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	vsl:           ^f32, 
    	ldvsl:         i64, 
    	vsr:           ^f32, 
    	ldvsr:         i64, 
    ) -> i64 ---

    sggesx ¶

    sggesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_S_SELECT3, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	vsl:           ^f32, 
    	ldvsl:         i64, 
    	vsr:           ^f32, 
    	ldvsr:         i64, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    sggev ¶

    sggev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    ) -> i64 ---

    sggev3 ¶

    sggev3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    ) -> i64 ---

    sggevx ¶

    sggevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f32, 
    	rscale:        ^f32, 
    	abnrm:         ^f32, 
    	bbnrm:         ^f32, 
    	rconde:        ^f32, 
    	rcondv:        ^f32, 
    ) -> i64 ---

    sggglm ¶

    sggglm :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	d:             [^]f32, 
    	x:             [^]f32, 
    	y:             ^f32, 
    ) -> i64 ---

    sgghd3 ¶

    sgghd3 :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sgghrd ¶

    sgghrd :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sgglse ¶

    sgglse :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	_c:            [^]f32, 
    	d:             [^]f32, 
    	x:             [^]f32, 
    ) -> i64 ---

    sggqrf ¶

    sggqrf :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	taua:          ^f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	taub:          ^f32, 
    ) -> i64 ---

    sggrqf ¶

    sggrqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	taua:          ^f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	taub:          ^f32, 
    ) -> i64 ---

    sggsvd ¶

    sggsvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	alpha:         [^]f32, 
    	beta:          [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    sggsvd3 ¶

    sggsvd3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	alpha:         [^]f32, 
    	beta:          [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    sggsvp ¶

    sggsvp :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	tola:          f32, 
    	tolb:          f32, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    ) -> i64 ---

    sggsvp3 ¶

    sggsvp3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	tola:          f32, 
    	tolb:          f32, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    ) -> i64 ---

    sgtcon ¶

    sgtcon :: proc "c" (
    	norm:  u8, 
    	n:     i64, 
    	dl:    [^]f32, 
    	d:     [^]f32, 
    	du:    [^]f32, 
    	du2:   [^]f32, 
    	ipiv:  [^]i64, 
    	anorm: f32, 
    	rcond: ^f32, 
    ) -> i64 ---

    sgtrfs ¶

    sgtrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f32, 
    	d:             [^]f32, 
    	du:            [^]f32, 
    	dlf:           ^f32, 
    	df:            [^]f32, 
    	duf:           ^f32, 
    	du2:           [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sgtsv ¶

    sgtsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f32, 
    	d:             [^]f32, 
    	du:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sgtsvx ¶

    sgtsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f32, 
    	d:             [^]f32, 
    	du:            [^]f32, 
    	dlf:           ^f32, 
    	df:            [^]f32, 
    	duf:           ^f32, 
    	du2:           [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sgttrf ¶

    sgttrf :: proc "c" (
    	n:    i64, 
    	dl:   [^]f32, 
    	d:    [^]f32, 
    	du:   [^]f32, 
    	du2:  [^]f32, 
    	ipiv: [^]i64, 
    ) -> i64 ---

    sgttrs ¶

    sgttrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]f32, 
    	d:             [^]f32, 
    	du:            [^]f32, 
    	du2:           [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    shgeqz ¶

    shgeqz :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]f32, 
    	ldh:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    shsein ¶

    shsein :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	eigsrc:        u8, 
    	initv:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	h:             [^]f32, 
    	ldh:           i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    	ifaill:        ^i64, 
    	ifailr:        ^i64, 
    ) -> i64 ---

    shseqr ¶

    shseqr :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]f32, 
    	ldh:           i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    slacn2 ¶

    slacn2 :: proc "c" (
    	n:     i64, 
    	v:     [^]f32, 
    	x:     [^]f32, 
    	isgn:  [^]i64, 
    	est:   ^f32, 
    	kase:  ^i64, 
    	isave: ^i64, 
    ) -> i64 ---

    slacpy ¶

    slacpy :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    slag2d ¶

    slag2d :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	sa:            ^f32, 
    	ldsa:          i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    ) -> i64 ---

    slagge ¶

    slagge :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	d:             [^]f32, 
    	a:             [^]f32, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    slagsy ¶

    slagsy :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	k:             i64, 
    	d:             [^]f32, 
    	a:             [^]f32, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    slamch ¶

    slamch :: proc "c" (cmach: u8) -> f32 ---

    slangb ¶

    slangb :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    ) -> f32 ---

    slange ¶

    slange :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> f32 ---

    slansy ¶

    slansy :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> f32 ---

    slantr ¶

    slantr :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> f32 ---

    slapmr ¶

    slapmr :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    slapmt ¶

    slapmt :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    slapy2 ¶

    slapy2 :: proc "c" (x: f32, y: f32) -> f32 ---

    slapy3 ¶

    slapy3 :: proc "c" (x: f32, y: f32, z: f32) -> f32 ---

    slarfb ¶

    slarfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    slarfg ¶

    slarfg :: proc "c" (n: i64, alpha: [^]f32, x: [^]f32, incx: i64, tau: [^]f32) -> i64 ---

    slarft ¶

    slarft :: proc "c" (
    	matrix_layout: i32, 
    	direct:        u8, 
    	storev:        u8, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	tau:           [^]f32, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    slarfx ¶

    slarfx :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	m:             i64, 
    	n:             i64, 
    	v:             [^]f32, 
    	tau:           f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    	work:          [^]f32, 
    ) -> i64 ---

    slarnv ¶

    slarnv :: proc "c" (idist: i64, iseed: [^]i64, n: i64, x: [^]f32) -> i64 ---

    slartgp ¶

    slartgp :: proc "c" (f: f32, g: f32, cs: ^f32, sn: ^f32, r: [^]f32) -> i64 ---

    slartgs ¶

    slartgs :: proc "c" (x: f32, y: f32, sigma: f32, cs: ^f32, sn: ^f32) -> i64 ---

    slascl ¶

    slascl :: proc "c" (
    	matrix_layout: i32, 
    	type:          u8, 
    	kl:            i64, 
    	ku:            i64, 
    	cfrom:         f32, 
    	cto:           f32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> i64 ---

    slaset ¶

    slaset :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         f32, 
    	beta:          f32, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> i64 ---

    slasrt ¶

    slasrt :: proc "c" (id: u8, n: i64, d: [^]f32) -> i64 ---

    slassq ¶

    slassq :: proc "c" (n: i64, x: [^]f32, incx: i64, scale: [^]f32, sumsq: ^f32) -> i64 ---

    slaswp ¶

    slaswp :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	k1:            i64, 
    	k2:            i64, 
    	ipiv:          [^]i64, 
    	incx:          i64, 
    ) -> i64 ---

    slatms ¶

    slatms :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	dist:          u8, 
    	iseed:         [^]i64, 
    	sym:           u8, 
    	d:             [^]f32, 
    	mode:          i64, 
    	cond:          f32, 
    	dmax:          f32, 
    	kl:            i64, 
    	ku:            i64, 
    	pack:          u8, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> i64 ---

    slauum ¶

    slauum :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f32, lda: i64) -> i64 ---

    sopgtr ¶

    sopgtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	tau:           [^]f32, 
    	q:             [^]f32, 
    	ldq:           i64, 
    ) -> i64 ---

    sopmtr ¶

    sopmtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ap:            [^]f32, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sorbdb ¶

    sorbdb :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^f32, 
    	ldx11:         i64, 
    	x12:           ^f32, 
    	ldx12:         i64, 
    	x21:           ^f32, 
    	ldx21:         i64, 
    	x22:           ^f32, 
    	ldx22:         i64, 
    	theta:         ^f32, 
    	phi:           ^f32, 
    	taup1:         ^f32, 
    	taup2:         ^f32, 
    	tauq1:         ^f32, 
    	tauq2:         ^f32, 
    ) -> i64 ---

    sorcsd ¶

    sorcsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^f32, 
    	ldx11:         i64, 
    	x12:           ^f32, 
    	ldx12:         i64, 
    	x21:           ^f32, 
    	ldx21:         i64, 
    	x22:           ^f32, 
    	ldx22:         i64, 
    	theta:         ^f32, 
    	u1:            ^f32, 
    	ldu1:          i64, 
    	u2:            ^f32, 
    	ldu2:          i64, 
    	v1t:           ^f32, 
    	ldv1t:         i64, 
    	v2t:           ^f32, 
    	ldv2t:         i64, 
    ) -> i64 ---

    sorcsd2by1 ¶

    sorcsd2by1 :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^f32, 
    	ldx11:         i64, 
    	x21:           ^f32, 
    	ldx21:         i64, 
    	theta:         ^f32, 
    	u1:            ^f32, 
    	ldu1:          i64, 
    	u2:            ^f32, 
    	ldu2:          i64, 
    	v1t:           ^f32, 
    	ldv1t:         i64, 
    ) -> i64 ---

    sorgbr ¶

    sorgbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorghr ¶

    sorghr :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorglq ¶

    sorglq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorgql ¶

    sorgql :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorgqr ¶

    sorgqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorgrq ¶

    sorgrq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorgtr ¶

    sorgtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    sorgtsqr_row ¶

    sorgtsqr_row :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb:            i64, 
    	nb:            i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    sorhr_col ¶

    sorhr_col :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	d:             [^]f32, 
    ) -> i64 ---
     

    LAPACK 3.10.0

    sormbr ¶

    sormbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormhr ¶

    sormhr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormlq ¶

    sormlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormql ¶

    sormql :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormqr ¶

    sormqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormrq ¶

    sormrq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormrz ¶

    sormrz :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    sormtr ¶

    sormtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    ) -> i64 ---

    spbcon ¶

    spbcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    spbequ ¶

    spbequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    spbrfs ¶

    spbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	afb:           [^]f32, 
    	ldafb:         i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    spbstf ¶

    spbstf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kb:            i64, 
    	bb:            ^f32, 
    	ldbb:          i64, 
    ) -> i64 ---

    spbsv ¶

    spbsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    spbsvx ¶

    spbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	afb:           [^]f32, 
    	ldafb:         i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    spbtrf ¶

    spbtrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    ) -> i64 ---

    spbtrs ¶

    spbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    spftrf ¶

    spftrf :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]f32) -> i64 ---

    spftri ¶

    spftri :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]f32) -> i64 ---

    spftrs ¶

    spftrs :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    spocon ¶

    spocon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    spoequ ¶

    spoequ :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    spoequb ¶

    spoequb :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    sporfs ¶

    sporfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sporfsx ¶

    sporfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    sposv ¶

    sposv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sposvx ¶

    sposvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sposvxx ¶

    sposvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    spotrf ¶

    spotrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f32, lda: i64) -> i64 ---

    spotrf2 ¶

    spotrf2 :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f32, lda: i64) -> i64 ---

    spotri ¶

    spotri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]f32, lda: i64) -> i64 ---

    spotrs ¶

    spotrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sppcon ¶

    sppcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    sppequ ¶

    sppequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    spprfs ¶

    spprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	afp:           ^f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sppsv ¶

    sppsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sppsvx ¶

    sppsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	afp:           ^f32, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    spptrf ¶

    spptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f32) -> i64 ---

    spptri ¶

    spptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f32) -> i64 ---

    spptrs ¶

    spptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    spstrf ¶

    spstrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	piv:           ^i64, 
    	rank:          ^i64, 
    	tol:           f32, 
    ) -> i64 ---

    sptcon ¶

    sptcon :: proc "c" (n: i64, d: [^]f32, e: [^]f32, anorm: f32, rcond: ^f32) -> i64 ---

    spteqr ¶

    spteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sptrfs ¶

    sptrfs :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	df:            [^]f32, 
    	ef:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sptsv ¶

    sptsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sptsvx ¶

    sptsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	df:            [^]f32, 
    	ef:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    spttrf ¶

    spttrf :: proc "c" (n: i64, d: [^]f32, e: [^]f32) -> i64 ---

    spttrs ¶

    spttrs :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssbev ¶

    ssbev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssbev_2stage ¶

    ssbev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssbevd ¶

    ssbevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssbevd_2stage ¶

    ssbevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssbevx ¶

    ssbevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssbevx_2stage ¶

    ssbevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssbgst ¶

    ssbgst :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	bb:            ^f32, 
    	ldbb:          i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    ) -> i64 ---

    ssbgv ¶

    ssbgv :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	bb:            ^f32, 
    	ldbb:          i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssbgvd ¶

    ssbgvd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	bb:            ^f32, 
    	ldbb:          i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssbgvx ¶

    ssbgvx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	bb:            ^f32, 
    	ldbb:          i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssbtrd ¶

    ssbtrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	q:             [^]f32, 
    	ldq:           i64, 
    ) -> i64 ---

    ssfrk ¶

    ssfrk :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	k:             i64, 
    	alpha:         f32, 
    	a:             [^]f32, 
    	lda:           i64, 
    	beta:          f32, 
    	_c:            [^]f32, 
    ) -> i64 ---

    sspcon ¶

    sspcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    sspev ¶

    sspev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sspevd ¶

    sspevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sspevx ¶

    sspevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    sspgst ¶

    sspgst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	bp:            [^]f32, 
    ) -> i64 ---

    sspgv ¶

    sspgv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	bp:            [^]f32, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sspgvd ¶

    sspgvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	bp:            [^]f32, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sspgvx ¶

    sspgvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	bp:            [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssprfs ¶

    ssprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	afp:           ^f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    sspsv ¶

    sspsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sspsvx ¶

    sspsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	afp:           ^f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    ssptrd ¶

    ssptrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	tau:           [^]f32, 
    ) -> i64 ---

    ssptrf ¶

    ssptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f32, ipiv: [^]i64) -> i64 ---

    ssptri ¶

    ssptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]f32, ipiv: [^]i64) -> i64 ---

    ssptrs ¶

    ssptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    sstebz ¶

    sstebz :: proc "c" (
    	range:  u8, 
    	order:  u8, 
    	n:      i64, 
    	vl:     f32, 
    	vu:     f32, 
    	il:     i64, 
    	iu:     i64, 
    	abstol: f32, 
    	d:      [^]f32, 
    	e:      [^]f32, 
    	m:      ^i64, 
    	nsplit: ^i64, 
    	w:      [^]f32, 
    	iblock: ^i64, 
    	isplit: ^i64, 
    ) -> i64 ---

    sstedc ¶

    sstedc :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sstegr ¶

    sstegr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    sstein ¶

    sstein :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	m:             i64, 
    	w:             [^]f32, 
    	iblock:        ^i64, 
    	isplit:        ^i64, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifailv:        ^i64, 
    ) -> i64 ---

    sstemr ¶

    sstemr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	nzc:           i64, 
    	isuppz:        [^]i64, 
    	tryrac:        ^i64, 
    ) -> i64 ---

    ssteqr ¶

    ssteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    ssterf ¶

    ssterf :: proc "c" (n: i64, d: [^]f32, e: [^]f32) -> i64 ---

    sstev ¶

    sstev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sstevd ¶

    sstevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    ) -> i64 ---

    sstevr ¶

    sstevr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    sstevx ¶

    sstevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssycon ¶

    ssycon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    ssycon_3 ¶

    ssycon_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	e:             [^]f32, 
    	ipiv:          [^]i64, 
    	anorm:         f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    ssyconv ¶

    ssyconv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	way:           u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	e:             [^]f32, 
    ) -> i64 ---

    ssyequb ¶

    ssyequb :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	s:             [^]f32, 
    	scond:         ^f32, 
    	amax:          ^f32, 
    ) -> i64 ---

    ssyev ¶

    ssyev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssyev_2stage ¶

    ssyev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssyevd ¶

    ssyevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssyevd_2stage ¶

    ssyevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssyevr ¶

    ssyevr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    ssyevr_2stage ¶

    ssyevr_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    ssyevx ¶

    ssyevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssyevx_2stage ¶

    ssyevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssygst ¶

    ssygst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssygv ¶

    ssygv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssygv_2stage ¶

    ssygv_2stage :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssygvd ¶

    ssygvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	w:             [^]f32, 
    ) -> i64 ---

    ssygvx ¶

    ssygvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	vl:            f32, 
    	vu:            f32, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f32, 
    	m:             ^i64, 
    	w:             [^]f32, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    ssyrfs ¶

    ssyrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    ssyrfsx ¶

    ssyrfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    ssysv ¶

    ssysv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssysv_aa ¶

    ssysv_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---
     

    LAPACK 3.7.0

    ssysv_aa_2stage ¶

    ssysv_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tb:            ^f32, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---
     

    LAPACK 3.8.0

    ssysv_rk ¶

    ssysv_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	e:             [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssysv_rook ¶

    ssysv_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---
     

    LAPACK 3.X.X

    ssysvx ¶

    ssysvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    ssysvxx ¶

    ssysvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	af:            ^f32, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	s:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	rcond:         ^f32, 
    	rpvgrw:        ^f32, 
    	berr:          [^]f32, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f32, 
    	err_bnds_comp: [^]f32, 
    	nparams:       i64, 
    	params:        [^]f32, 
    ) -> i64 ---

    ssyswapr ¶

    ssyswapr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	i1:            i64, 
    	i2:            i64, 
    ) -> i64 ---

    ssytrd ¶

    ssytrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	d:             [^]f32, 
    	e:             [^]f32, 
    	tau:           [^]f32, 
    ) -> i64 ---

    ssytrf ¶

    ssytrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytrf_aa ¶

    ssytrf_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytrf_aa_2stage ¶

    ssytrf_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tb:            ^f32, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    ) -> i64 ---

    ssytrf_rk ¶

    ssytrf_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	e:             [^]f32, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytrf_rook ¶

    ssytrf_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytri ¶

    ssytri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytri2 ¶

    ssytri2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytri2x ¶

    ssytri2x :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	nb:            i64, 
    ) -> i64 ---

    ssytri_3 ¶

    ssytri_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	e:             [^]f32, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    ssytrs ¶

    ssytrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssytrs2 ¶

    ssytrs2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssytrs_3 ¶

    ssytrs_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	e:             [^]f32, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssytrs_aa ¶

    ssytrs_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssytrs_aa_2stage ¶

    ssytrs_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tb:            ^f32, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    ssytrs_rook ¶

    ssytrs_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    stbcon ¶

    stbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	rcond:         ^f32, 
    ) -> i64 ---

    stbrfs ¶

    stbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    stbtrs ¶

    stbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]f32, 
    	ldab:          i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    stfsm ¶

    stfsm :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         f32, 
    	a:             [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    stftri ¶

    stftri :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    ) -> i64 ---

    stfttp ¶

    stfttp :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^f32, 
    	ap:            [^]f32, 
    ) -> i64 ---

    stfttr ¶

    stfttr :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^f32, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> i64 ---

    stgevc ¶

    stgevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	s:             [^]f32, 
    	lds:           i64, 
    	p:             ^f32, 
    	ldp:           i64, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    stgexc ¶

    stgexc :: proc "c" (
    	matrix_layout: i32, 
    	wantq:         i64, 
    	wantz:         i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	ifst:          ^i64, 
    	ilst:          ^i64, 
    ) -> i64 ---

    stgsen ¶

    stgsen :: proc "c" (
    	matrix_layout: i32, 
    	ijob:          i64, 
    	wantq:         i64, 
    	wantz:         i64, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	alphar:        ^f32, 
    	alphai:        ^f32, 
    	beta:          [^]f32, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	z:             [^]f32, 
    	ldz:           i64, 
    	m:             ^i64, 
    	pl:            ^f32, 
    	pr:            ^f32, 
    	dif:           ^f32, 
    ) -> i64 ---

    stgsja ¶

    stgsja :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	tola:          f32, 
    	tolb:          f32, 
    	alpha:         [^]f32, 
    	beta:          [^]f32, 
    	u:             [^]f32, 
    	ldu:           i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	ncycle:        ^i64, 
    ) -> i64 ---

    stgsna ¶

    stgsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	s:             [^]f32, 
    	dif:           ^f32, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    stgsyl ¶

    stgsyl :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	ijob:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    	d:             [^]f32, 
    	ldd:           i64, 
    	e:             [^]f32, 
    	lde:           i64, 
    	f:             ^f32, 
    	ldf:           i64, 
    	scale:         [^]f32, 
    	dif:           ^f32, 
    ) -> i64 ---

    stpcon ¶

    stpcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	rcond:         ^f32, 
    ) -> i64 ---

    stpmqrt ¶

    stpmqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    stpqrt ¶

    stpqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    stpqrt2 ¶

    stpqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    ) -> i64 ---

    stprfb ¶

    stprfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	v:             [^]f32, 
    	ldv:           i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    stprfs ¶

    stprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    stptri ¶

    stptri :: proc "c" (matrix_layout: i32, uplo: u8, diag: u8, n: i64, ap: [^]f32) -> i64 ---

    stptrs ¶

    stptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]f32, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    stpttf ¶

    stpttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	arf:           ^f32, 
    ) -> i64 ---

    stpttr ¶

    stpttr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]f32, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> i64 ---

    strcon ¶

    strcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	rcond:         ^f32, 
    ) -> i64 ---

    strevc ¶

    strevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    strexc ¶

    strexc :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	n:             i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	ifst:          ^i64, 
    	ilst:          ^i64, 
    ) -> i64 ---

    strrfs ¶

    strrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	x:             [^]f32, 
    	ldx:           i64, 
    	ferr:          [^]f32, 
    	berr:          [^]f32, 
    ) -> i64 ---

    strsen ¶

    strsen :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	q:             [^]f32, 
    	ldq:           i64, 
    	wr:            [^]f32, 
    	wi:            [^]f32, 
    	m:             ^i64, 
    	s:             [^]f32, 
    	sep:           [^]f32, 
    ) -> i64 ---

    strsna ¶

    strsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]f32, 
    	ldt:           i64, 
    	vl:            [^]f32, 
    	ldvl:          i64, 
    	vr:            [^]f32, 
    	ldvr:          i64, 
    	s:             [^]f32, 
    	sep:           [^]f32, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    strsyl ¶

    strsyl :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    	scale:         [^]f32, 
    ) -> i64 ---

    strsyl3 ¶

    strsyl3 :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    	_c:            [^]f32, 
    	ldc:           i64, 
    	scale:         [^]f32, 
    ) -> i64 ---

    strtri ¶

    strtri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    ) -> i64 ---

    strtrs ¶

    strtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	b:             [^]f32, 
    	ldb:           i64, 
    ) -> i64 ---

    strttf ¶

    strttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	arf:           ^f32, 
    ) -> i64 ---

    strttp ¶

    strttp :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	ap:            [^]f32, 
    ) -> i64 ---

    stzrzf ¶

    stzrzf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f32, 
    	lda:           i64, 
    	tau:           [^]f32, 
    ) -> i64 ---

    zbbcsd ¶

    zbbcsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	theta:         ^f64, 
    	phi:           ^f64, 
    	u1:            ^complex128, 
    	ldu1:          i64, 
    	u2:            ^complex128, 
    	ldu2:          i64, 
    	v1t:           ^complex128, 
    	ldv1t:         i64, 
    	v2t:           ^complex128, 
    	ldv2t:         i64, 
    	b11d:          ^f64, 
    	b11e:          ^f64, 
    	b12d:          ^f64, 
    	b12e:          ^f64, 
    	b21d:          ^f64, 
    	b21e:          ^f64, 
    	b22d:          ^f64, 
    	b22e:          ^f64, 
    ) -> i64 ---

    zbdsqr ¶

    zbdsqr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ncvt:          i64, 
    	nru:           i64, 
    	ncc:           i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vt:            [^]complex128, 
    	ldvt:          i64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zcgesv ¶

    zcgesv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	iter:          ^i64, 
    ) -> i64 ---

    zcposv ¶

    zcposv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	iter:          ^i64, 
    ) -> i64 ---

    zgbbrd ¶

    zgbbrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	ncc:           i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	pt:            [^]complex128, 
    	ldpt:          i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zgbcon ¶

    zgbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zgbequ ¶

    zgbequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zgbequb ¶

    zgbequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zgbrfs ¶

    zgbrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	afb:           [^]complex128, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zgbrfsx ¶

    zgbrfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	afb:           [^]complex128, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zgbsv ¶

    zgbsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgbsvx ¶

    zgbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	afb:           [^]complex128, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    	rpivot:        ^f64, 
    ) -> i64 ---

    zgbsvxx ¶

    zgbsvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	afb:           [^]complex128, 
    	ldafb:         i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zgbtrf ¶

    zgbtrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zgbtrs ¶

    zgbtrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgebak ¶

    zgebak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	scale:         [^]f64, 
    	m:             i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    ) -> i64 ---

    zgebal ¶

    zgebal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f64, 
    ) -> i64 ---

    zgebrd ¶

    zgebrd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	tauq:          [^]complex128, 
    	taup:          [^]complex128, 
    ) -> i64 ---

    zgecon ¶

    zgecon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zgeequ ¶

    zgeequ :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zgeequb ¶

    zgeequb :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	rowcnd:        ^f64, 
    	colcnd:        ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zgees ¶

    zgees :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_Z_SELECT1, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	w:             [^]complex128, 
    	vs:            [^]complex128, 
    	ldvs:          i64, 
    ) -> i64 ---

    zgeesx ¶

    zgeesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvs:         u8, 
    	sort:          u8, 
    	select:        LAPACK_Z_SELECT1, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	sdim:          ^i64, 
    	w:             [^]complex128, 
    	vs:            [^]complex128, 
    	ldvs:          i64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    zgeev ¶

    zgeev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	w:             [^]complex128, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    ) -> i64 ---

    zgeevx ¶

    zgeevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	w:             [^]complex128, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	scale:         [^]f64, 
    	abnrm:         ^f64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    zgehrd ¶

    zgehrd :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgejsv ¶

    zgejsv :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobr:          u8, 
    	jobt:          u8, 
    	jobp:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	sva:           ^f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	stat:          ^f64, 
    	istat:         ^i64, 
    ) -> i64 ---

    zgelq ¶

    zgelq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	tsize:         i64, 
    ) -> i64 ---

    zgelq2 ¶

    zgelq2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgelqf ¶

    zgelqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgels ¶

    zgels :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgelsd ¶

    zgelsd :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	s:             [^]f64, 
    	rcond:         f64, 
    	rank:          ^i64, 
    ) -> i64 ---

    zgelss ¶

    zgelss :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	s:             [^]f64, 
    	rcond:         f64, 
    	rank:          ^i64, 
    ) -> i64 ---

    zgelsy ¶

    zgelsy :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	jpvt:          ^i64, 
    	rcond:         f64, 
    	rank:          ^i64, 
    ) -> i64 ---

    zgemlq ¶

    zgemlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	tsize:         i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zgemqr ¶

    zgemqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	tsize:         i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zgemqrt ¶

    zgemqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	nb:            i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zgeqlf ¶

    zgeqlf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgeqp3 ¶

    zgeqp3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgeqpf ¶

    zgeqpf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	jpvt:          ^i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgeqr ¶

    zgeqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	tsize:         i64, 
    ) -> i64 ---

    zgeqr2 ¶

    zgeqr2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgeqrf ¶

    zgeqrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgeqrfp ¶

    zgeqrfp :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgeqrt ¶

    zgeqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    zgeqrt2 ¶

    zgeqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    zgeqrt3 ¶

    zgeqrt3 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    zgerfs ¶

    zgerfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zgerfsx ¶

    zgerfsx :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zgerqf ¶

    zgerqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zgesdd ¶

    zgesdd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	vt:            [^]complex128, 
    	ldvt:          i64, 
    ) -> i64 ---

    zgesv ¶

    zgesv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgesvd ¶

    zgesvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	vt:            [^]complex128, 
    	ldvt:          i64, 
    	superb:        [^]f64, 
    ) -> i64 ---

    zgesvdq ¶

    zgesvdq :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobp:          u8, 
    	jobr:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	numrank:       ^i64, 
    ) -> i64 ---

    zgesvdx ¶

    zgesvdx :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobvt:         u8, 
    	range:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	ns:            ^i64, 
    	s:             [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	vt:            [^]complex128, 
    	ldvt:          i64, 
    	superb:        [^]i64, 
    ) -> i64 ---

    zgesvj ¶

    zgesvj :: proc "c" (
    	matrix_layout: i32, 
    	joba:          u8, 
    	jobu:          u8, 
    	jobv:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	sva:           ^f64, 
    	mv:            i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	stat:          ^f64, 
    ) -> i64 ---

    zgesvx ¶

    zgesvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    	rpivot:        ^f64, 
    ) -> i64 ---

    zgesvxx ¶

    zgesvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	r:             [^]f64, 
    	_c:            [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zgetf2 ¶

    zgetf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zgetrf ¶

    zgetrf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zgetrf2 ¶

    zgetrf2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zgetri ¶

    zgetri :: proc "c" (matrix_layout: i32, n: i64, a: [^]complex128, lda: i64, ipiv: [^]i64) -> i64 ---

    zgetrs ¶

    zgetrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgetsls ¶

    zgetsls :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgetsqrhrt ¶

    zgetsqrhrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb1:           i64, 
    	nb1:           i64, 
    	nb2:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    zggbak ¶

    zggbak :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	side:          u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	lscale:        ^f64, 
    	rscale:        ^f64, 
    	m:             i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    ) -> i64 ---

    zggbal ¶

    zggbal :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f64, 
    	rscale:        ^f64, 
    ) -> i64 ---

    zgges ¶

    zgges :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_Z_SELECT2, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	vsl:           ^complex128, 
    	ldvsl:         i64, 
    	vsr:           ^complex128, 
    	ldvsr:         i64, 
    ) -> i64 ---

    zgges3 ¶

    zgges3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_Z_SELECT2, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	vsl:           ^complex128, 
    	ldvsl:         i64, 
    	vsr:           ^complex128, 
    	ldvsr:         i64, 
    ) -> i64 ---

    zggesx ¶

    zggesx :: proc "c" (
    	matrix_layout: i32, 
    	jobvsl:        u8, 
    	jobvsr:        u8, 
    	sort:          u8, 
    	selctg:        LAPACK_Z_SELECT2, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	sdim:          ^i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	vsl:           ^complex128, 
    	ldvsl:         i64, 
    	vsr:           ^complex128, 
    	ldvsr:         i64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    zggev ¶

    zggev :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    ) -> i64 ---

    zggev3 ¶

    zggev3 :: proc "c" (
    	matrix_layout: i32, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    ) -> i64 ---

    zggevx ¶

    zggevx :: proc "c" (
    	matrix_layout: i32, 
    	balanc:        u8, 
    	jobvl:         u8, 
    	jobvr:         u8, 
    	sense:         u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	ilo:           ^i64, 
    	ihi:           ^i64, 
    	lscale:        ^f64, 
    	rscale:        ^f64, 
    	abnrm:         ^f64, 
    	bbnrm:         ^f64, 
    	rconde:        ^f64, 
    	rcondv:        ^f64, 
    ) -> i64 ---

    zggglm ¶

    zggglm :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	d:             [^]complex128, 
    	x:             [^]complex128, 
    	y:             ^complex128, 
    ) -> i64 ---

    zgghd3 ¶

    zgghd3 :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zgghrd ¶

    zgghrd :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zgglse ¶

    zgglse :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	_c:            [^]complex128, 
    	d:             [^]complex128, 
    	x:             [^]complex128, 
    ) -> i64 ---

    zggqrf ¶

    zggqrf :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	m:             i64, 
    	p:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	taua:          ^complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	taub:          ^complex128, 
    ) -> i64 ---

    zggrqf ¶

    zggrqf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	taua:          ^complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	taub:          ^complex128, 
    ) -> i64 ---

    zggsvd ¶

    zggsvd :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	alpha:         [^]f64, 
    	beta:          [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    zggsvd3 ¶

    zggsvd3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	n:             i64, 
    	p:             i64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	alpha:         [^]f64, 
    	beta:          [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	iwork:         [^]i64, 
    ) -> i64 ---

    zggsvp ¶

    zggsvp :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	tola:          f64, 
    	tolb:          f64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    ) -> i64 ---

    zggsvp3 ¶

    zggsvp3 :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	tola:          f64, 
    	tolb:          f64, 
    	k:             ^i64, 
    	l:             ^i64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    ) -> i64 ---

    zgtcon ¶

    zgtcon :: proc "c" (
    	norm:  u8, 
    	n:     i64, 
    	dl:    [^]complex128, 
    	d:     [^]complex128, 
    	du:    [^]complex128, 
    	du2:   [^]complex128, 
    	ipiv:  [^]i64, 
    	anorm: f64, 
    	rcond: ^f64, 
    ) -> i64 ---

    zgtrfs ¶

    zgtrfs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex128, 
    	d:             [^]complex128, 
    	du:            [^]complex128, 
    	dlf:           ^complex128, 
    	df:            [^]complex128, 
    	duf:           ^complex128, 
    	du2:           [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zgtsv ¶

    zgtsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex128, 
    	d:             [^]complex128, 
    	du:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zgtsvx ¶

    zgtsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex128, 
    	d:             [^]complex128, 
    	du:            [^]complex128, 
    	dlf:           ^complex128, 
    	df:            [^]complex128, 
    	duf:           ^complex128, 
    	du2:           [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zgttrf ¶

    zgttrf :: proc "c" (
    	n:    i64, 
    	dl:   [^]complex128, 
    	d:    [^]complex128, 
    	du:   [^]complex128, 
    	du2:  [^]complex128, 
    	ipiv: [^]i64, 
    ) -> i64 ---

    zgttrs ¶

    zgttrs :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	dl:            [^]complex128, 
    	d:             [^]complex128, 
    	du:            [^]complex128, 
    	du2:           [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhbev ¶

    zhbev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhbev_2stage ¶

    zhbev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhbevd ¶

    zhbevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhbevd_2stage ¶

    zhbevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhbevx ¶

    zhbevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zhbevx_2stage ¶

    zhbevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zhbgst ¶

    zhbgst :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	bb:            ^complex128, 
    	ldbb:          i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    ) -> i64 ---

    zhbgv ¶

    zhbgv :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	bb:            ^complex128, 
    	ldbb:          i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhbgvd ¶

    zhbgvd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	bb:            ^complex128, 
    	ldbb:          i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhbgvx ¶

    zhbgvx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ka:            i64, 
    	kb:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	bb:            ^complex128, 
    	ldbb:          i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zhbtrd ¶

    zhbtrd :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    ) -> i64 ---

    zhecon ¶

    zhecon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zhecon_3 ¶

    zhecon_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zheequb ¶

    zheequb :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zheev ¶

    zheev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zheev_2stage ¶

    zheev_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zheevd ¶

    zheevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zheevd_2stage ¶

    zheevd_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zheevr ¶

    zheevr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    zheevr_2stage ¶

    zheevr_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    zheevx ¶

    zheevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zheevx_2stage ¶

    zheevx_2stage :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zhegst ¶

    zhegst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhegv ¶

    zhegv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zhegv_2stage ¶

    zhegv_2stage :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zhegvd ¶

    zhegvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	w:             [^]f64, 
    ) -> i64 ---

    zhegvx ¶

    zhegvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zherfs ¶

    zherfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zherfsx ¶

    zherfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zhesv ¶

    zhesv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhesv_aa ¶

    zhesv_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhesv_aa_2stage ¶

    zhesv_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tb:            ^complex128, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhesv_rk ¶

    zhesv_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhesvx ¶

    zhesvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zhesvxx ¶

    zhesvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zheswapr ¶

    zheswapr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	i1:            i64, 
    	i2:            i64, 
    ) -> i64 ---

    zhetrd ¶

    zhetrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zhetrf ¶

    zhetrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetrf_aa ¶

    zhetrf_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetrf_aa_2stage ¶

    zhetrf_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tb:            ^complex128, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    ) -> i64 ---

    zhetrf_rk ¶

    zhetrf_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetrf_rook ¶

    zhetrf_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetri ¶

    zhetri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetri2 ¶

    zhetri2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetri2x ¶

    zhetri2x :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	nb:            i64, 
    ) -> i64 ---

    zhetri_3 ¶

    zhetri_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zhetrs ¶

    zhetrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhetrs2 ¶

    zhetrs2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhetrs_3 ¶

    zhetrs_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhetrs_aa ¶

    zhetrs_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhetrs_aa_2stage ¶

    zhetrs_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tb:            ^complex128, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhetrs_rook ¶

    zhetrs_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhfrk ¶

    zhfrk :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	n:             i64, 
    	k:             i64, 
    	alpha:         f64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	beta:          f64, 
    	_c:            [^]complex128, 
    ) -> i64 ---

    zhgeqz ¶

    zhgeqz :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]complex128, 
    	ldh:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhpcon ¶

    zhpcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zhpev ¶

    zhpev :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhpevd ¶

    zhpevd :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhpevx ¶

    zhpevx :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zhpgst ¶

    zhpgst :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	bp:            [^]complex128, 
    ) -> i64 ---

    zhpgv ¶

    zhpgv :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	bp:            [^]complex128, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhpgvd ¶

    zhpgvd :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	bp:            [^]complex128, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zhpgvx ¶

    zhpgvx :: proc "c" (
    	matrix_layout: i32, 
    	itype:         i64, 
    	jobz:          u8, 
    	range:         u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	bp:            [^]complex128, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifail:         [^]i64, 
    ) -> i64 ---

    zhprfs ¶

    zhprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	afp:           ^complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zhpsv ¶

    zhpsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhpsvx ¶

    zhpsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	afp:           ^complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zhptrd ¶

    zhptrd :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zhptrf ¶

    zhptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex128, ipiv: [^]i64) -> i64 ---

    zhptri ¶

    zhptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex128, ipiv: [^]i64) -> i64 ---

    zhptrs ¶

    zhptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zhsein ¶

    zhsein :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	eigsrc:        u8, 
    	initv:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	h:             [^]complex128, 
    	ldh:           i64, 
    	w:             [^]complex128, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    	ifaill:        ^i64, 
    	ifailr:        ^i64, 
    ) -> i64 ---

    zhseqr ¶

    zhseqr :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compz:         u8, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	h:             [^]complex128, 
    	ldh:           i64, 
    	w:             [^]complex128, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zlacgv ¶

    zlacgv :: proc "c" (n: i64, x: [^]complex128, incx: i64) -> i64 ---

    zlacn2 ¶

    zlacn2 :: proc "c" (
    	n:     i64, 
    	v:     [^]complex128, 
    	x:     [^]complex128, 
    	est:   ^f64, 
    	kase:  ^i64, 
    	isave: ^i64, 
    ) -> i64 ---

    zlacp2 ¶

    zlacp2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zlacpy ¶

    zlacpy :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zlacrm ¶

    zlacrm :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]f64, 
    	ldb:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zlag2c ¶

    zlag2c :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	sa:            ^complex64, 
    	ldsa:          i64, 
    ) -> i64 ---

    zlagge ¶

    zlagge :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	d:             [^]f64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    zlaghe ¶

    zlaghe :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	k:             i64, 
    	d:             [^]f64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    zlagsy ¶

    zlagsy :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	k:             i64, 
    	d:             [^]f64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	iseed:         [^]i64, 
    ) -> i64 ---

    zlangb ¶

    zlangb :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	n:             i64, 
    	kl:            i64, 
    	ku:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    ) -> f64 ---

    zlange ¶

    zlange :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> f64 ---

    zlanhe ¶

    zlanhe :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> f64 ---

    zlansy ¶

    zlansy :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> f64 ---

    zlantr ¶

    zlantr :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> f64 ---

    zlapmr ¶

    zlapmr :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    zlapmt ¶

    zlapmt :: proc "c" (
    	matrix_layout: i32, 
    	forwrd:        i64, 
    	m:             i64, 
    	n:             i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	k:             ^i64, 
    ) -> i64 ---

    zlarcm ¶

    zlarcm :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]f64, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zlarfb ¶

    zlarfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zlarfg ¶

    zlarfg :: proc "c" (n: i64, alpha: [^]complex128, x: [^]complex128, incx: i64, tau: [^]complex128) -> i64 ---

    zlarft ¶

    zlarft :: proc "c" (
    	matrix_layout: i32, 
    	direct:        u8, 
    	storev:        u8, 
    	n:             i64, 
    	k:             i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	tau:           [^]complex128, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    zlarfx ¶

    zlarfx :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	m:             i64, 
    	n:             i64, 
    	v:             [^]complex128, 
    	tau:           complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    	work:          [^]complex128, 
    ) -> i64 ---

    zlarnv ¶

    zlarnv :: proc "c" (idist: i64, iseed: [^]i64, n: i64, x: [^]complex128) -> i64 ---

    zlascl ¶

    zlascl :: proc "c" (
    	matrix_layout: i32, 
    	type:          u8, 
    	kl:            i64, 
    	ku:            i64, 
    	cfrom:         f64, 
    	cto:           f64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    zlaset ¶

    zlaset :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         complex128, 
    	beta:          complex128, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    zlassq ¶

    zlassq :: proc "c" (n: i64, x: [^]complex128, incx: i64, scale: [^]f64, sumsq: ^f64) -> i64 ---

    zlaswp ¶

    zlaswp :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	k1:            i64, 
    	k2:            i64, 
    	ipiv:          [^]i64, 
    	incx:          i64, 
    ) -> i64 ---

    zlatms ¶

    zlatms :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	dist:          u8, 
    	iseed:         [^]i64, 
    	sym:           u8, 
    	d:             [^]f64, 
    	mode:          i64, 
    	cond:          f64, 
    	dmax:          f64, 
    	kl:            i64, 
    	ku:            i64, 
    	pack:          u8, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    zlauum ¶

    zlauum :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex128, lda: i64) -> i64 ---

    zpbcon ¶

    zpbcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zpbequ ¶

    zpbequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zpbrfs ¶

    zpbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	afb:           [^]complex128, 
    	ldafb:         i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zpbstf ¶

    zpbstf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kb:            i64, 
    	bb:            ^complex128, 
    	ldbb:          i64, 
    ) -> i64 ---

    zpbsv ¶

    zpbsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zpbsvx ¶

    zpbsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	afb:           [^]complex128, 
    	ldafb:         i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zpbtrf ¶

    zpbtrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    ) -> i64 ---

    zpbtrs ¶

    zpbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zpftrf ¶

    zpftrf :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]complex128) -> i64 ---

    zpftri ¶

    zpftri :: proc "c" (matrix_layout: i32, transr: u8, uplo: u8, n: i64, a: [^]complex128) -> i64 ---

    zpftrs ¶

    zpftrs :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zpocon ¶

    zpocon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zpoequ ¶

    zpoequ :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zpoequb ¶

    zpoequb :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zporfs ¶

    zporfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zporfsx ¶

    zporfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zposv ¶

    zposv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zposvx ¶

    zposvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zposvxx ¶

    zposvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zpotrf ¶

    zpotrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex128, lda: i64) -> i64 ---

    zpotrf2 ¶

    zpotrf2 :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex128, lda: i64) -> i64 ---

    zpotri ¶

    zpotri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, a: [^]complex128, lda: i64) -> i64 ---

    zpotrs ¶

    zpotrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zppcon ¶

    zppcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zppequ ¶

    zppequ :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zpprfs ¶

    zpprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	afp:           ^complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zppsv ¶

    zppsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zppsvx ¶

    zppsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	afp:           ^complex128, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zpptrf ¶

    zpptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex128) -> i64 ---

    zpptri ¶

    zpptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex128) -> i64 ---

    zpptrs ¶

    zpptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zpstrf ¶

    zpstrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	piv:           ^i64, 
    	rank:          ^i64, 
    	tol:           f64, 
    ) -> i64 ---

    zptcon ¶

    zptcon :: proc "c" (n: i64, d: [^]f64, e: [^]complex128, anorm: f64, rcond: ^f64) -> i64 ---

    zpteqr ¶

    zpteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zptrfs ¶

    zptrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]complex128, 
    	df:            [^]f64, 
    	ef:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zptsv ¶

    zptsv :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zptsvx ¶

    zptsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]complex128, 
    	df:            [^]f64, 
    	ef:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zpttrf ¶

    zpttrf :: proc "c" (n: i64, d: [^]f64, e: [^]complex128) -> i64 ---

    zpttrs ¶

    zpttrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	d:             [^]f64, 
    	e:             [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zspcon ¶

    zspcon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zsprfs ¶

    zsprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	afp:           ^complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zspsv ¶

    zspsv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zspsvx ¶

    zspsvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	afp:           ^complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zsptrf ¶

    zsptrf :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex128, ipiv: [^]i64) -> i64 ---

    zsptri ¶

    zsptri :: proc "c" (matrix_layout: i32, uplo: u8, n: i64, ap: [^]complex128, ipiv: [^]i64) -> i64 ---

    zsptrs ¶

    zsptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zstedc ¶

    zstedc :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zstegr ¶

    zstegr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	abstol:        f64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	isuppz:        [^]i64, 
    ) -> i64 ---

    zstein ¶

    zstein :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	m:             i64, 
    	w:             [^]f64, 
    	iblock:        ^i64, 
    	isplit:        ^i64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifailv:        ^i64, 
    ) -> i64 ---

    zstemr ¶

    zstemr :: proc "c" (
    	matrix_layout: i32, 
    	jobz:          u8, 
    	range:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	vl:            f64, 
    	vu:            f64, 
    	il:            i64, 
    	iu:            i64, 
    	m:             ^i64, 
    	w:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	nzc:           i64, 
    	isuppz:        [^]i64, 
    	tryrac:        ^i64, 
    ) -> i64 ---

    zsteqr ¶

    zsteqr :: proc "c" (
    	matrix_layout: i32, 
    	compz:         u8, 
    	n:             i64, 
    	d:             [^]f64, 
    	e:             [^]f64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    ) -> i64 ---

    zsycon ¶

    zsycon :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zsycon_3 ¶

    zsycon_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    	anorm:         f64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    zsyconv ¶

    zsyconv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	way:           u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	e:             [^]complex128, 
    ) -> i64 ---

    zsyequb ¶

    zsyequb :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	s:             [^]f64, 
    	scond:         ^f64, 
    	amax:          ^f64, 
    ) -> i64 ---

    zsyr ¶

    zsyr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	alpha:         complex128, 
    	x:             [^]complex128, 
    	incx:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    zsyrfs ¶

    zsyrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zsyrfsx ¶

    zsyrfsx :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	equed:         u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zsysv ¶

    zsysv :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsysv_aa ¶

    zsysv_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsysv_aa_2stage ¶

    zsysv_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tb:            ^complex128, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsysv_rk ¶

    zsysv_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsysv_rook ¶

    zsysv_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsysvx ¶

    zsysvx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    zsysvxx ¶

    zsysvxx :: proc "c" (
    	matrix_layout: i32, 
    	fact:          u8, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	af:            ^complex128, 
    	ldaf:          i64, 
    	ipiv:          [^]i64, 
    	equed:         cstring, 
    	s:             [^]f64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	rcond:         ^f64, 
    	rpvgrw:        ^f64, 
    	berr:          [^]f64, 
    	n_err_bnds:    i64, 
    	err_bnds_norm: [^]f64, 
    	err_bnds_comp: [^]f64, 
    	nparams:       i64, 
    	params:        [^]f64, 
    ) -> i64 ---

    zsyswapr ¶

    zsyswapr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	i1:            i64, 
    	i2:            i64, 
    ) -> i64 ---

    zsytrf ¶

    zsytrf :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytrf_aa ¶

    zsytrf_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytrf_aa_2stage ¶

    zsytrf_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tb:            ^complex128, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    ) -> i64 ---

    zsytrf_rk ¶

    zsytrf_rk :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytrf_rook ¶

    zsytrf_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytri ¶

    zsytri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytri2 ¶

    zsytri2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytri2x ¶

    zsytri2x :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	nb:            i64, 
    ) -> i64 ---

    zsytri_3 ¶

    zsytri_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    ) -> i64 ---

    zsytrs ¶

    zsytrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsytrs2 ¶

    zsytrs2 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsytrs_3 ¶

    zsytrs_3 :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	e:             [^]complex128, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsytrs_aa ¶

    zsytrs_aa :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsytrs_aa_2stage ¶

    zsytrs_aa_2stage :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tb:            ^complex128, 
    	ltb:           i64, 
    	ipiv:          [^]i64, 
    	ipiv2:         ^i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    zsytrs_rook ¶

    zsytrs_rook :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ipiv:          [^]i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztbcon ¶

    ztbcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    ztbrfs ¶

    ztbrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    ztbtrs ¶

    ztbtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	kd:            i64, 
    	nrhs:          i64, 
    	ab:            [^]complex128, 
    	ldab:          i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztfsm ¶

    ztfsm :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	m:             i64, 
    	n:             i64, 
    	alpha:         complex128, 
    	a:             [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztftri ¶

    ztftri :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    ) -> i64 ---

    ztfttp ¶

    ztfttp :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^complex128, 
    	ap:            [^]complex128, 
    ) -> i64 ---

    ztfttr ¶

    ztfttr :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	arf:           ^complex128, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    ztgevc ¶

    ztgevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	s:             [^]complex128, 
    	lds:           i64, 
    	p:             ^complex128, 
    	ldp:           i64, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ztgexc ¶

    ztgexc :: proc "c" (
    	matrix_layout: i32, 
    	wantq:         i64, 
    	wantz:         i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	ifst:          i64, 
    	ilst:          i64, 
    ) -> i64 ---

    ztgsen ¶

    ztgsen :: proc "c" (
    	matrix_layout: i32, 
    	ijob:          i64, 
    	wantq:         i64, 
    	wantz:         i64, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	alpha:         [^]complex128, 
    	beta:          [^]complex128, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	z:             [^]complex128, 
    	ldz:           i64, 
    	m:             ^i64, 
    	pl:            ^f64, 
    	pr:            ^f64, 
    	dif:           ^f64, 
    ) -> i64 ---

    ztgsja ¶

    ztgsja :: proc "c" (
    	matrix_layout: i32, 
    	jobu:          u8, 
    	jobv:          u8, 
    	jobq:          u8, 
    	m:             i64, 
    	p:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	tola:          f64, 
    	tolb:          f64, 
    	alpha:         [^]f64, 
    	beta:          [^]f64, 
    	u:             [^]complex128, 
    	ldu:           i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	ncycle:        ^i64, 
    ) -> i64 ---

    ztgsna ¶

    ztgsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	s:             [^]f64, 
    	dif:           ^f64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ztgsyl ¶

    ztgsyl :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	ijob:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    	d:             [^]complex128, 
    	ldd:           i64, 
    	e:             [^]complex128, 
    	lde:           i64, 
    	f:             ^complex128, 
    	ldf:           i64, 
    	scale:         [^]f64, 
    	dif:           ^f64, 
    ) -> i64 ---

    ztpcon ¶

    ztpcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	rcond:         ^f64, 
    ) -> i64 ---

    ztpmqrt ¶

    ztpmqrt :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztpqrt ¶

    ztpqrt :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	nb:            i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    ztpqrt2 ¶

    ztpqrt2 :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	l:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    ztprfb ¶

    ztprfb :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	direct:        u8, 
    	storev:        u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	v:             [^]complex128, 
    	ldv:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztprfs ¶

    ztprfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    ztptri ¶

    ztptri :: proc "c" (matrix_layout: i32, uplo: u8, diag: u8, n: i64, ap: [^]complex128) -> i64 ---

    ztptrs ¶

    ztptrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	ap:            [^]complex128, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztpttf ¶

    ztpttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	arf:           ^complex128, 
    ) -> i64 ---

    ztpttr ¶

    ztpttr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    ztrcon ¶

    ztrcon :: proc "c" (
    	matrix_layout: i32, 
    	norm:          u8, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	rcond:         ^f64, 
    ) -> i64 ---

    ztrevc ¶

    ztrevc :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ztrexc ¶

    ztrexc :: proc "c" (
    	matrix_layout: i32, 
    	compq:         u8, 
    	n:             i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	ifst:          i64, 
    	ilst:          i64, 
    ) -> i64 ---

    ztrrfs ¶

    ztrrfs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	x:             [^]complex128, 
    	ldx:           i64, 
    	ferr:          [^]f64, 
    	berr:          [^]f64, 
    ) -> i64 ---

    ztrsen ¶

    ztrsen :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	compq:         u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    	w:             [^]complex128, 
    	m:             ^i64, 
    	s:             [^]f64, 
    	sep:           [^]f64, 
    ) -> i64 ---

    ztrsna ¶

    ztrsna :: proc "c" (
    	matrix_layout: i32, 
    	job:           u8, 
    	howmny:        u8, 
    	select:        [^]i64, 
    	n:             i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	vl:            [^]complex128, 
    	ldvl:          i64, 
    	vr:            [^]complex128, 
    	ldvr:          i64, 
    	s:             [^]f64, 
    	sep:           [^]f64, 
    	mm:            i64, 
    	m:             ^i64, 
    ) -> i64 ---

    ztrsyl ¶

    ztrsyl :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    	scale:         [^]f64, 
    ) -> i64 ---

    ztrsyl3 ¶

    ztrsyl3 :: proc "c" (
    	matrix_layout: i32, 
    	trana:         u8, 
    	tranb:         u8, 
    	isgn:          i64, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    	scale:         [^]f64, 
    ) -> i64 ---

    ztrtri ¶

    ztrtri :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	diag:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    ) -> i64 ---

    ztrtrs ¶

    ztrtrs :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	trans:         u8, 
    	diag:          u8, 
    	n:             i64, 
    	nrhs:          i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	b:             [^]complex128, 
    	ldb:           i64, 
    ) -> i64 ---

    ztrttf ¶

    ztrttf :: proc "c" (
    	matrix_layout: i32, 
    	transr:        u8, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	arf:           ^complex128, 
    ) -> i64 ---

    ztrttp ¶

    ztrttp :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	ap:            [^]complex128, 
    ) -> i64 ---

    ztzrzf ¶

    ztzrzf :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zunbdb ¶

    zunbdb :: proc "c" (
    	matrix_layout: i32, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^complex128, 
    	ldx11:         i64, 
    	x12:           ^complex128, 
    	ldx12:         i64, 
    	x21:           ^complex128, 
    	ldx21:         i64, 
    	x22:           ^complex128, 
    	ldx22:         i64, 
    	theta:         ^f64, 
    	phi:           ^f64, 
    	taup1:         ^complex128, 
    	taup2:         ^complex128, 
    	tauq1:         ^complex128, 
    	tauq2:         ^complex128, 
    ) -> i64 ---

    zuncsd ¶

    zuncsd :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	jobv2t:        u8, 
    	trans:         u8, 
    	signs:         u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^complex128, 
    	ldx11:         i64, 
    	x12:           ^complex128, 
    	ldx12:         i64, 
    	x21:           ^complex128, 
    	ldx21:         i64, 
    	x22:           ^complex128, 
    	ldx22:         i64, 
    	theta:         ^f64, 
    	u1:            ^complex128, 
    	ldu1:          i64, 
    	u2:            ^complex128, 
    	ldu2:          i64, 
    	v1t:           ^complex128, 
    	ldv1t:         i64, 
    	v2t:           ^complex128, 
    	ldv2t:         i64, 
    ) -> i64 ---

    zuncsd2by1 ¶

    zuncsd2by1 :: proc "c" (
    	matrix_layout: i32, 
    	jobu1:         u8, 
    	jobu2:         u8, 
    	jobv1t:        u8, 
    	m:             i64, 
    	p:             i64, 
    	q:             i64, 
    	x11:           ^complex128, 
    	ldx11:         i64, 
    	x21:           ^complex128, 
    	ldx21:         i64, 
    	theta:         ^f64, 
    	u1:            ^complex128, 
    	ldu1:          i64, 
    	u2:            ^complex128, 
    	ldu2:          i64, 
    	v1t:           ^complex128, 
    	ldv1t:         i64, 
    ) -> i64 ---

    zungbr ¶

    zungbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zunghr ¶

    zunghr :: proc "c" (
    	matrix_layout: i32, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zunglq ¶

    zunglq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zungql ¶

    zungql :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zungqr ¶

    zungqr :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zungrq ¶

    zungrq :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zungtr ¶

    zungtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    ) -> i64 ---

    zungtsqr_row ¶

    zungtsqr_row :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	mb:            i64, 
    	nb:            i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    ) -> i64 ---

    zunhr_col ¶

    zunhr_col :: proc "c" (
    	matrix_layout: i32, 
    	m:             i64, 
    	n:             i64, 
    	nb:            i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	t:             [^]complex128, 
    	ldt:           i64, 
    	d:             [^]complex128, 
    ) -> i64 ---

    zunmbr ¶

    zunmbr :: proc "c" (
    	matrix_layout: i32, 
    	vect:          u8, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmhr ¶

    zunmhr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ilo:           i64, 
    	ihi:           i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmlq ¶

    zunmlq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmql ¶

    zunmql :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmqr ¶

    zunmqr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmrq ¶

    zunmrq :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmrz ¶

    zunmrz :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	k:             i64, 
    	l:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zunmtr ¶

    zunmtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	a:             [^]complex128, 
    	lda:           i64, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    zupgtr ¶

    zupgtr :: proc "c" (
    	matrix_layout: i32, 
    	uplo:          u8, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	tau:           [^]complex128, 
    	q:             [^]complex128, 
    	ldq:           i64, 
    ) -> i64 ---

    zupmtr ¶

    zupmtr :: proc "c" (
    	matrix_layout: i32, 
    	side:          u8, 
    	uplo:          u8, 
    	trans:         u8, 
    	m:             i64, 
    	n:             i64, 
    	ap:            [^]complex128, 
    	tau:           [^]complex128, 
    	_c:            [^]complex128, 
    	ldc:           i64, 
    ) -> i64 ---

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2025-11 (vendor "odin") Linux_amd64 @ 2025-11-15 02:28:15.925608069 +0000 UTC