PreviousUpNext

14.2.30  Matrix

The Matrix api defines access to simple two-dimensional arrays.

The Matrix api is implemented by the matrix and rw_matrix and packages.

The Matrix api source code is src/lib/std/src/matrix.api.

The above information is manually maintained and may contain errors.

api {    eqtype Array X;
    Region X = {base:Array(X ),  col:Int,  ncols:Null_Or(Int ), 
                nrows:Null_Or(Int ),  row:Int};
    Traversal  = COLUMN_MAJOR | ROW_MAJOR;
    array : (Int , Int , X) -> Array(X );
    from_list : List(List(X ) ) -> Array(X );
    tabulate : Traversal
               -> (Int , Int , ((Int , Int) -> X)) -> Array(X );
    get : (Array(X ) , Int , Int) -> X;
    set : (Array(X ) , Int , Int , X) -> Void;
    dimensions : Array(X ) -> (Int , Int);
    columns : Array(X ) -> Int;
    rows : Array(X ) -> Int;
    row : (Array(X ) , Int) -> vector::Vector(X );
    column : (Array(X ) , Int) -> vector::Vector(X );
    copy : {dst:Array(X ),  dst_col:Int,  dst_row:Int, 
            src:Region(X )}
           -> Void;
    keyed_apply : Traversal
                  -> ((Int , Int , X) -> Void) -> Region(X ) -> Void;
    apply : Traversal -> (X -> Void) -> Array(X ) -> Void;
    modifyi : Traversal
              -> ((Int , Int , X) -> X) -> Region(X ) -> Void;
    modify : Traversal -> (X -> X) -> Array(X ) -> Void;
    foldi : Traversal
            -> ((Int , Int , X , Y) -> Y) -> Y -> Region(X ) -> Y;
    fold : Traversal -> ((X , Y) -> Y) -> Y -> Array(X ) -> Y;
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext