changeset 237:601dbfcf949d sparse

A few fixes
author Chris Cannam
date Sun, 19 May 2013 22:21:47 +0100
parents ccca84efa36a
children 0c86d9284f20
files yetilab/matrix/matrix.yeti
diffstat 1 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/yetilab/matrix/matrix.yeti	Sun May 19 22:16:02 2013 +0100
+++ b/yetilab/matrix/matrix.yeti	Sun May 19 22:21:47 2013 +0100
@@ -31,14 +31,14 @@
             rows = if major > 0 then vec.length c[0] else 0 fi,
             columns = major, 
         };
-    SparseCSR { values, indices, pointers, cols }:
+    SparseCSR { values, indices, pointers, extent }:
         {
             rows = (length pointers) - 1,
-            columns = cols
+            columns = extent
         };
-    SparseCSC { values, indices, pointers, rows }:
+    SparseCSC { values, indices, pointers, extent }:
         {
-            rows,
+            rows = extent,
             columns = (length pointers) - 1
         };
     esac;
@@ -151,19 +151,21 @@
          _: [];
         esac;
     case m of
-    SparseCSC { values, indices, pointers, rows }: 
+    SparseCSC { values, indices, pointers, extent }: 
         enumerate (vec.list values) indices (list pointers) 0 0;
-    SparseCSR { values, indices, pointers, rows }:
+    SparseCSR { values, indices, pointers, extent }:
         map do { i, j, v }: { i = j, j = i, v } done 
            (enumerate (vec.list values) indices (list pointers) 0 0);
+     _: [];
     esac);
 
 makeSparse type data =
+//!!! not implemented
     case type of
     RowMajor (): 
-        SparseCSR { values = vec.zeros 0, indices = array [], pointers = array [] };
+        SparseCSR { values = vec.zeros 0, indices = array [], pointers = array [], extent = 0 };
     ColMajor (): 
-        SparseCSC { values = vec.zeros 0, indices = array [], pointers = array [] };
+        SparseCSC { values = vec.zeros 0, indices = array [], pointers = array [], extent = 0 };
     esac;
 
 constMatrix n = generate do row col: n done;