Synopsis
module sparse | : | { type t = i32 type~ csr [n] [m] = ?[nnz].{col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32} type~ csc [n] [m] = ?[nnz].{col_idx: [nnz]i64, dummy_m: [n](), dummy_n: [m](), row_off: [m]i64, vals: [nnz]i32} module csrmodule cscmodule msrmodule msc} |
module csr | : | { type t = i32 type~ mat [n] [m] = ?[nnz].{col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32} val zero: (n: i64) -> (m: i64) -> {col_idx: [0]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [0]i32} val eye: (n: i64) -> (m: i64) -> ?[d₁₈].{col_idx: [d₁₈]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [d₁₈]i32} val dense [n] [m] [nnz]: (csr: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> [n][m]i32 val smvm [n] [m] [nnz]: (csr: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> (v: [m]i32) -> [n]i32 val scale [n] [m] [nnz]: (v: i32) -> (csr: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> ?[d₃].{col_idx: [d₃]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [d₃]i32} val sparse [nnz0]: (n: i64) -> (m: i64) -> (coo: [nnz0](i64, i64, i32)) -> ?[d₃₇].{col_idx: [d₃₇]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [d₃₇]i32} val nnz [n] [m] [nnz]: (csr: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> i64 val coo [n] [m] [nnz]: (csr: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> ?[d₂₄].*[d₂₄](i64, i64, i32) val + [n] [m] [nnz] [nnz]: (csr1: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> (csr2: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> ?[d₁₅].{col_idx: [d₁₅]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [d₁₅]i32} val - [n] [m] [nnz] [nnz]: (csr1: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> (csr2: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> ?[d₂₀].{col_idx: [d₂₀]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [d₂₀]i32} } |
val test_csr_eye | : | (n: i64) -> (m: i64) -> *[n][m]i32 |
val test_csr_sparse | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> *[n][m]i32 |
val test_csr_smvm | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> (v: *[m]i32) -> *[n]csr.t |
val test_csr_nnz | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> i64 |
val test_csr_coo | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> ([]i64, []i64, []csr.t) |
module csc | : | { type t = i32 type~ mat [n] [m] = ?[nnz].{col_idx: [nnz]i64, dummy_m: [n](), dummy_n: [m](), row_off: [m]i64, vals: [nnz]i32} val zero: (n: i64) -> (m: i64) -> {col_idx: [0]i64, dummy_m: [n](), dummy_n: [m](), row_off: [m]i64, vals: [0]i32} val scale [n] [m] [nnz]: (v: i32) -> (mat: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> ?[d₃].{col_idx: [d₃]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [d₃]i32} val eye: (n: i64) -> (m: i64) -> ?[d₀].{col_idx: [d₀]i64, dummy_m: [n](), dummy_n: [m](), row_off: [m]i64, vals: [d₀]i32} val nnz [n] [m] [nnz]: (mat: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> i64 val coo [n] [m] [nnz]: (mat: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> ?[d₅].[d₅](i64, i64, i32) val sparse [nnz]: (n: i64) -> (m: i64) -> (coo: [nnz](i64, i64, i32)) -> ?[d₉].{col_idx: [d₉]i64, dummy_m: [n](), dummy_n: [m](), row_off: [m]i64, vals: [d₉]i32} val dense [n] [m] [nnz]: (mat: {col_idx: [nnz]i64, dummy_m: [m](), dummy_n: [n](), row_off: [n]i64, vals: [nnz]i32}) -> [m][n]i32 val + [n₂] [m₃] [nnz₄] [nnz₅]: (x: {col_idx: [nnz₄]i64, dummy_m: [m₃](), dummy_n: [n₂](), row_off: [n₂]i64, vals: [nnz₄]i32}) -> (y: {col_idx: [nnz₅]i64, dummy_m: [m₃](), dummy_n: [n₂](), row_off: [n₂]i64, vals: [nnz₅]i32}) -> ?[d₆].{col_idx: [d₆]i64, dummy_m: [m₃](), dummy_n: [n₂](), row_off: [n₂]i64, vals: [d₆]i32} val - [n₂] [m₃] [nnz₄] [nnz₅]: (x: {col_idx: [nnz₄]i64, dummy_m: [m₃](), dummy_n: [n₂](), row_off: [n₂]i64, vals: [nnz₄]i32}) -> (y: {col_idx: [nnz₅]i64, dummy_m: [m₃](), dummy_n: [n₂](), row_off: [n₂]i64, vals: [nnz₅]i32}) -> ?[d₆].{col_idx: [d₆]i64, dummy_m: [m₃](), dummy_n: [n₂](), row_off: [n₂]i64, vals: [d₆]i32} } |
val test_csc_eye | : | (n: i64) -> (m: i64) -> *[n][m]i32 |
val test_csc_sparse | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> *[n][m]i32 |
val test_csc_nnz | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> i64 |
val test_csc_coo | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> ([]i64, []i64, []csc.t) |
val test_csr_transpose | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> [][]csc.t |
val test_csc_transpose | [k] : | (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> [][]csr.t |
Description
- ↑val test_csr_eye: (n: i64) -> (m: i64) -> *[n][m]i32
- ↑val test_csr_sparse [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> *[n][m]i32
- ↑val test_csr_smvm [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> (v: *[m]i32) -> *[n]csr.t
- ↑val test_csr_nnz [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> i64
- ↑val test_csr_coo [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> ([]i64, []i64, []csr.t)
- ↑val test_csc_eye: (n: i64) -> (m: i64) -> *[n][m]i32
- ↑val test_csc_sparse [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> *[n][m]i32
- ↑val test_csc_nnz [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> i64
- ↑val test_csc_coo [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> ([]i64, []i64, []csc.t)
- ↑val test_csr_transpose [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> [][]csc.t
- ↑val test_csc_transpose [k]: (n: i64) -> (m: i64) -> (xs: [k]i64) -> (ys: [k]i64) -> (vs: [k]i32) -> [][]csr.t