File: csr2sparse.m

package info (click to toggle)
rocsolver 6.4.3-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 17,876 kB
  • sloc: cpp: 151,850; python: 2,275; sh: 875; objc: 642; ansic: 402; makefile: 71; xml: 26
file content (19 lines) | stat: -rw-r--r-- 358 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function A = csr2sparse( Ap, Ai, Ax )
% A = csr2sparse( Ap, Ai, Ax )
%
% convert CSR matrix to matlab sparse matrix
%
n = max(size(Ap))-1;
nnz = Ap( n+1) - Ap(1);
ncol  = max( Ai(:)) + 1;
nrow = n;

ii = zeros(nnz,1);
ip = 1;
for irow=1:nrow,
  nz = Ap(irow+1)-Ap(irow);
  ii(ip:(ip+nz-1))  = irow;
  ip = ip + nz;
end;
A = sparse( ii,Ai+1,Ax, nrow,ncol );