view yetilab/matrix/type.yeti @ 291:c40821ff70f8

Hurrah! Overlap-add now produces valid output streams (finally) and passes the tests
author Chris Cannam
date Fri, 31 May 2013 15:14:09 +0100
parents 197d23954a4e
children
line wrap: on
line source

module yetilab.matrix.type;

load yetilab.vector.type;

typedef opaque matrix =
    DenseRows. array<vector> | // array of rows
    DenseCols. array<vector> | // array of columns
    SparseCSR. {
        .values is vector,
        .indices is array<number>, // column index of each value
        .pointers is array<number>, // offset of first value in each row
        .extent is number // max possible index + 1, i.e. number of columns
        } |
    SparseCSC. {
        .values is vector,
        .indices is array<number>, // row index of each value
        .pointers is array<number>, // offset of first value in each column
        .extent is number // max pointers index + 1, i.e. number of rows
        };

();