* Bugs 15838 15839 15842 16452 16454 fixed: gsort() for all sparse in all modes
[scilab.git] / scilab / modules / elementary_functions / macros / %b_gsort.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 //
3 // Copyright (C) 2019 - Samuel GOUGEON
4 //
5 // This file is hereby licensed under the terms of the GNU GPL v2.0,
6 // pursuant to article 5.3.4 of the CeCILL v.2.1.
7 // This file was originally licensed under the terms of the CeCILL v2.1,
8 // and continues to be available under such terms.
9 // For more information, see the COPYING file which you should have received
10 // along with this program.
11
12 function varargout = %b_gsort(varargin)
13     // Boolean hypermatrices are completely processed in %hm_gsort
14     // Sparse boolean matrices are sent to %spb_gsort
15
16     b = iconvert(varargin(1), 1);
17     if argn(1)==1 then
18         b = gsort(b, varargin(2:$))==int8(1);
19         varargout = list(b);
20     else
21         [b, k] = gsort(b, varargin(2:$));
22         b = (b == int8(1));
23         varargout = list(b, k);
24     end
25 endfunction