File: test_sparse65.m

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (32 lines) | stat: -rw-r--r-- 1,097 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
% Test sparse matrix array vector-subset assignment
function x = test_sparse65
[yi1,zi1] = sparse_test_mat('int32',300,400);
[yf1,zf1] = sparse_test_mat('float',300,400);
[yd1,zd1] = sparse_test_mat('double',300,400);
[yc1,zc1] = sparse_test_mat('complex',300,400);
[yz1,zz1] = sparse_test_mat('dcomplex',300,400);
ndx = randi(ones(1500,1),300*400*ones(1500,1));
gi = int32(100*randn(1500,1));
gf = float(randn(1500,1));
gd = randn(1500,1);
gc = complex(randn(1500,1)+i*randn(1500,1));
gz = dcomplex(randn(1500,1)+i*randn(1500,1));
yi1(ndx) = gi; zi1(ndx) = gi;
yf1(ndx) = gf; zf1(ndx) = gf;
yd1(ndx) = gd; zd1(ndx) = gd;
yc1(ndx) = gc; zc1(ndx) = gc;
yz1(ndx) = gz; zz1(ndx) = gz;
% Cannot use testeq because if we set the same element to two
% different values, the result is different for full versus sparse
% matrices
x = testeq2(yi1,zi1,ndx) & testeq2(yf1,zf1,ndx) & testeq2(yd1,zd1,ndx) & testeq2(yc1,zc1,ndx) & testeq2(yz1,zz1,ndx);

function n = length(x)
n = prod(size(x));

function x = testeq2(a,b,ndx)
k = find(a-b);
x = 1;
for i = 1:length(k)
  x = x & length(find(ndx == k(i)));
end