ATSLIB/contrib/libfloats/lamatrix
This package is a thin layer for helping use various BLAS and BLAS-like
functions on matrices.
Synopsis
stadef LAgmat = LAgmat_vtype
vtypedef LAgmat
(a:t@ype, mo: mord, m: int, n: int) = [l:addr] LAgmat(a, mo, l, m, n)
Synopsis
absvtype
LAgmat_vtype
(a:t@ype, mo: mord, l: addr, m: int, n: int) = ptr(l)
Synopsis
praxi
lemma_LAgmat_param
{a:t0p}{mo:mord}{m,n:int}
(M: !LAgmat(a, mo, m, n))
: [0 <= mo; mo <= 1; 0 <= m; 0 <= n] void
Synopsis
fun{}
LAgmat_mord
{a:t0p}{mo:mord}{m,n:int}
(M: !LAgmat(a, mo, m, n)): MORD(mo)
Synopsis
fun{}
LAgmat_nrow
{a:t0p}{mo:mord}{m,n:int}
(M: !LAgmat(a, mo, m, n)): int (m)
Synopsis
fun{}
LAgmat_ncol
{a:t0p}{mo:mord}{m,n:int}
(M: !LAgmat(a, mo, m, n)): int (n)
Synopsis
fun{}
LAgmat_vtakeout_row
{a:t0p}{mo:mord}{m,n:int}
(
!LAgmat(a, mo, m, n)
, i: natLt(m), d: &int? >> int(d)
) :
#[
l:addr;d:int
] (
gvector_v (a, l, n, d)
, gvector_v (a, l, n, d) -<lin,prf> void
| ptr (l)
)
Synopsis
fun{}
LAgmat_vtakeout_col
{a:t0p}{mo:mord}{m,n:int}
(
!LAgmat(a, mo, m, n)
, j: natLt(n), d: &int? >> int(d)
) :
#[
l:addr;d:int
] (
gvector_v (a, l, m, d)
, gvector_v (a, l, m, d) -<lin,prf> void
| ptr (l)
)
Synopsis
fun{}
LAgmat_vtakeout_matrix
{a:t0p}{mo:mord}{m,n:int}
(
!LAgmat(a, mo, m, n)
, ld: &int? >> int(ld)
) :
#[
l:addr;ld:int
] (
gmatrix_v (a, mo, l, m, n, ld)
, gmatrix_v (a, mo, l, m, n, ld) -<lin,prf> void
| ptr (l)
)
Synopsis
fun{a:t0p}
LAgmat_get_at
{mo:mord}{m,n:int}
(
M: !LAgmat(a, mo, m, n), i: natLt(m), j: natLt(n)
) : (a)
Synopsis
fun{a:t0p}
LAgmat_set_at
{mo:mord}{m,n:int}
(
M: !LAgmat(a, mo, m, n), i: natLt(m), j: natLt(n), x: a
) : void
Synopsis
fun{a:t0p}
LAgmat_getref_at
{mo:mord}{m,n:int}
(
M: !LAgmat(a, mo, m, n), i: natLt(m), j: natLt(n)
) : cPtr1(a)
Synopsis
fun{a:t0p}
fprint_LAgmat
{mo:mord}{m,n:int} (FILEref, !LAgmat(a, mo, m, n)): void
Synopsis
fun{}
fprint_LAgmat$sep1 (FILEref): void
Synopsis
fun{}
fprint_LAgmat$sep2 (FILEref): void
Synopsis
fun{a:t0p}
fprint_LAgmat_sep
{mo:mord}{m,n:int}
(FILEref, !LAgmat(a, mo, m, n), sep1: string, sep2: string): void
Synopsis
fun{a:t0p}
LAgmat_split_1x2
{mo:mord}{m,n:int}
{j:nat | j <= n}
(
LAgmat(a, mo, m, n), j: int j
) :
(
LAgmat(a, mo, m, j)
, LAgmat(a, mo, m, n-j)
)
Synopsis
fun{a:t0p}
LAgmat_split_2x1
{mo:mord}{m,n:int}
{i:nat | i <= m}
(
LAgmat(a, mo, m, n), i: int i
) :
(
LAgmat(a, mo, i, n)
, LAgmat(a, mo, m-i, n)
)
Synopsis
fun{a:t0p}
LAgmat_split_2x2
{mo:mord}{m,n:int}
{i,j:nat | i <= m; j <= n}
(
LAgmat(a, mo, m, n), i: int i, j: int j
) :
(
LAgmat(a, mo, i, j)
, LAgmat(a, mo, i, n-j)
, LAgmat(a, mo, m-i, j)
, LAgmat(a, mo, m-i, n-j)
)
Synopsis
fun{a:t0p}
LAgmat_tabulate
{mo:mord}{m,n:pos}
(mo: MORD(mo), m: int m, n: int n): LAgmat(a, mo, m, n)
Synopsis
fun{a:t0p}
LAgmat_tabulate$fopr (i: int, j: int): a
Synopsis
fun{a:t0p}
LAgmat_iforeach
{mo:mord}{m,n:int} (!LAgmat (a, mo, m, n) >> _): void
Synopsis
fun
{a:t0p}
{env:vt0p}
LAgmat_iforeach_env
{mo:mord}{m,n:int}
(M: !LAgmat (a, mo, m, n) >> _, env: &env >> _): void
Synopsis
fun
{a:t0p}
{env:vt0p}
LAgmat_iforeach$fwork
(i: int, j: int, x: &a >> _, env: &env >> _): void
Synopsis
fun{a:t0p}
LAgmat_imake_arrayptr
{mo:mord}{m,n:int}
(M: !LAgmat (a, mo, m, n)): arrayptr (a, m*n)
Synopsis
fun{a:t0p}
LAgmat_imake_matrixptr
{mo:mord}{m,n:int}
(M: !LAgmat (a, mo, m, n)): matrixptr (a, m, n)
Synopsis
fun{a:t0p}
LAgmat_imake$fopr (i: int, j: int, x: a): a
Synopsis
fun{a:t0p}
LAgmat_scal
{mo:mord}{m,n:int}
(
alpha: a
, X: !LAgmat(a, mo, m, n) >> _
) : void
Synopsis
fun{a:t0p}
scal_LAgmat
{mo:mord}{m,n:int}
(
alpha: a, X: !LAgmat(a, mo, m, n)
) : LAgmat(a, mo, m, n)
Synopsis
fun{a:t0p}
LAgmat_copy
{mo:mord}{m,n:int}
(
X: !LAgmat(a, mo, m, n)
, Y: !LAgmat(a?, mo, m, n) >> LAgmat(a, mo, m, n)
) : void
Synopsis
fun{a:t0p}
copy_LAgmat
{mo:mord}{m,n:int}
(X: !LAgmat(a, mo, m, n)) : LAgmat(a, mo, m, n)
Synopsis
fun{a:t0p}
LAgmat_transp
{mo:mord}{m,n:int}
(
X: !LAgmat(a, mo, m, n)
, Y: !LAgmat(a?, mo, n, m) >> LAgmat(a, mo, n, m)
) : void
Synopsis
fun{a:t0p}
transp_LAgmat
{mo:mord}{m,n:int}
(X: !LAgmat(a, mo, m, n)) : LAgmat(a, mo, n, m)
Synopsis
fun{a:t0p}
LAgmat_ax1y
{mo:mord}{m,n:int}
(
alpha: a
, X: !LAgmat(a, mo, m, n)
, Y: !LAgmat(a, mo, m, n) >> _
) : void
Synopsis
fun{a:t0p}
LAgmat_axby
{mo:mord}{m,n:int}
(
alpha: a
, X: !LAgmat(a, mo, m, n)
, beta: a
, Y: !LAgmat(a, mo, m, n) >> _
) : void
Synopsis
fun{a:t0p}
add11_LAgmat_LAgmat
{mo:mord}{m,n:int}
(
X: !LAgmat(a, mo, m, n), Y: !LAgmat(a, mo, m, n)
) : LAgmat(a, mo, m, n)
Synopsis
fun{a:t0p}
sub11_LAgmat_LAgmat
{mo:mord}{m,n:int}
(
X: !LAgmat(a, mo, m, n), Y: !LAgmat(a, mo, m, n)
) : LAgmat(a, mo, m, n)
Synopsis
fun{a:t0p}
LAgmat_gemm
{mo:mord}
{p,q,r:int}
{tra,trb:transp}
{ma,na:int}{mb,nb:int}
(
pfa: transpdim (tra, ma, na, p, q)
, pfb: transpdim (trb, mb, nb, q, r)
| alpha: a
, A: !LAgmat(a, mo, ma, na), TRANSP(tra)
, B: !LAgmat(a, mo, mb, nb), TRANSP(trb)
, beta: a
, C: !LAgmat(a, mo, p, r) >> _
) : void
Synopsis
fun{a:t0p}
LAgmat_gemm_nn
{mo:mord}
{p,q,r:int}
(
alpha: a
, A: !LAgmat(a, mo, p, q)
, B: !LAgmat(a, mo, q, r)
, beta: a
, C: !LAgmat(a, mo, p, r) >> _
) : void
Synopsis
fun{a:t0p}
LAgmat_gemm_nt
{mo:mord}
{p,q,r:int}
(
alpha: a
, A: !LAgmat(a, mo, p, q)
, B: !LAgmat(a, mo, r, q)
, beta: a
, C: !LAgmat(a, mo, p, r) >> _
) : void
Synopsis
fun{a:t0p}
LAgmat_gemm_tn
{mo:mord}
{p,q,r:int}
(
alpha: a
, A: !LAgmat(a, mo, q, p)
, B: !LAgmat(a, mo, q, r)
, beta: a
, C: !LAgmat(a, mo, p, r) >> _
) : void
Synopsis
fun{a:t0p}
LAgmat_gemm_tt
{mo:mord}
{p,q,r:int}
(
alpha: a
, A: !LAgmat(a, mo, q, p)
, B: !LAgmat(a, mo, r, q)
, beta: a
, C: !LAgmat(a, mo, p, r) >> _
) : void
Synopsis
fun{a:t0p}
mul00_LAgmat_LAgmat
{mo:mord}{p,q,r:int}
(
X: LAgmat(a, mo, p, q), Y: LAgmat(a, mo, q, r)
) : LAgmat(a, mo, p, r)
Synopsis
fun{a:t0p}
mul10_LAgmat_LAgmat
{mo:mord}{p,q,r:int}
(
X: !LAgmat(a, mo, p, q), Y: LAgmat(a, mo, q, r)
) : LAgmat(a, mo, p, r)
Synopsis
fun{a:t0p}
mul01_LAgmat_LAgmat
{mo:mord}{p,q,r:int}
(
X: LAgmat(a, mo, p, q), Y: !LAgmat(a, mo, q, r)
) : LAgmat(a, mo, p, r)
Synopsis
fun{a:t0p}
mul11_LAgmat_LAgmat
{mo:mord}{p,q,r:int}
(
X: !LAgmat(a, mo, p, q), Y: !LAgmat(a, mo, q, r)
) : LAgmat(a, mo, p, r)
Synopsis
overload + with add11_LAgmat_LAgmat
Synopsis
overload - with sub11_LAgmat_LAgmat
Synopsis
overload * with mul11_LAgmat_LAgmat
Synopsis
overload [] with LAgmat_get_at
overload [] with LAgmat_set_at
Synopsis
overload .nrow with LAgmat_nrow
Synopsis
overload .ncol with LAgmat_ncol
Synopsis
overload fprint with fprint_LAgmat