* Bug #12059 fixed - Index returned by gsort of sparse were wrong.
[scilab.git] / scilab / modules / elementary_functions / macros / %sp_gsort.sci
index d132854..208f20c 100644 (file)
@@ -41,7 +41,6 @@ function [A, k] = %sp_gsort(A, optsort, directionsort)
         error(999,msprintf(_("%s: Wrong size for input argument #%d: sparse vectors expected.\n"), 'gsort', 1));\r
     end\r
 \r
-\r
     if mn(1) == 1 then\r
         // if A is a row vector and optsort = 'r', the result is the \r
         // first input argument\r
@@ -61,6 +60,7 @@ function [A, k] = %sp_gsort(A, optsort, directionsort)
                 v = gsort(v', optsort, directionsort);\r
             else\r
                 [v, k] = gsort(v', optsort, directionsort);\r
+                k=ij(k,2)';\r
             end\r
 \r
             //Obtain the indices corresponding to positive values of v\r
@@ -119,6 +119,7 @@ function [A, k] = %sp_gsort(A, optsort, directionsort)
                 v = gsort(v, optsort, directionsort);\r
             else\r
                 [v, k] = gsort(v, optsort, directionsort);\r
+                k=ij(k,1);\r
             end\r
 \r
             //Obtain the indices corresponding to positive values of v\r